1. Giới thiệu PostgreSQL
“PostgreSQL hay còn gọi là Postgres là một RDBMS mã nguồn mở mạnh mẽ và được sử dụng rất rộng rãi, ưu điểm nổi bật của sản phẩm này đó là khả năng mở rộng và tương thích các tiêu chuẩn phổ dụng. PostgreSQL có thể phục vụ các bài toán nhỏ trên hệ thống đơn và những bài toán lớn với nhiều người dùng đồng thời. Các phiên bản hiện tại cũng hỗ trợ khả năng nhân bản dữ liệu để đáp ứng khả năng sẵn sàng cao và tính mở rộng.PostgreSQL tuân theo tiêu chuẩn SQL-2011 đây là ưu điểm lớn nhất so với một số RDBMS mã nguồn mở khác như MySQL, điều này cho phép mã nguồn SQL tương thích tốt với các hệ thống khác, giảm thiểu công sức chỉnh sửa khi thay đổi DBMS. Trên SQL-2011, việc xử lý giao dịch (bao gồm hầu hết các câu lệnh DDL) và tương thích ACID, phòng tránh vấn đề locking bằng cách sử dụng kỹ thuật Multiversion Concurrency Control (MVCC). MVCC cung cấp khả năng tránh được dirty read và full seriallizability. Postgres hỗ trợ xử lý các truy vấn SQL phức tạp bằng cách sử dụng các phương pháp đánh chỉ mục mà nhiều DBMS khác không có. Những tính năng khác của SQL2011 cùng với những tính năng mở rộng của các nhà phát triển bên thứ 3 cho phép mô phỏng nhiều tính năng mở rộng của các sản phẩm khác, ví dụ như Oracle .” – wikipedia –
2. Cài đặt PostgreSQL
a. Mặc định, trên repository của CentOS 6 chỉ có postgresql server phiên bản 8.4. Ta thực hiện cài đặt các phần mềm liên quan như sau:yum install postgresql.x86_64 postgresql-server.x86_64
Mặc định, sau khi cài đặt xong các package trên, hệ thống sẽ có một user tên là postgres nắm quyền quản trị và sở hữu các thư mục liên quan tới postgresql. Thư mục dữ liệu của postgresql server 8 trên CentOS mặc định nằm tại /var/lib/pgsql/data
b. Khởi tạo dịch vụ
Việc đầu tiên phải làm ngay sau khi cài đặt phần mềm PostgreSQL và chỉ làm 1 lần đó là khởi tạo cho database các thư mục và file cấu hình cần thiết trong PGDATA
[root@localhost ~]# service postgresql initdb
Sau khi khởi tạo, ta sẽ có cấu trúc các thư mục cần thiết như sau:
[root@localhost ~]# ls /var/lib/pgsql/data/
base pg_hba.conf pg_multixact pg_tblspc pg_xlog
global pg_ident.conf pg_stat_tmp pg_twophase postgresql.conf
pg_clog pg_log pg_subtrans PG_VERSION postmaster.opts
c. Khởi động dịch vụ database server, tạo người dùng và database
- Khởi động database service
service postgresql start
- Tạo người dùng (su - postgres)
createuser –S –d –r –P –E myaccount
Với lệnh trên, chúng ta sẽ tạo một người dùng có tên myaccount, không có quyền superuser, có quyền tạo database, tạo role, mật khẩu được mã hoá và ta cần nhập mật khẩu cho user này.
- Tạo database:
createdb --encoding='utf-8' --locale=en_US.utf8 mydb
- Chỉnh sửa file cấu hình để cho phép user myaccount kết nối được vào database mydb
root@localhost# su – postgres
bash-4.1$ cd data/
bash-4.1$ vim pg_hba.conf à chỉnh sửa các tham số như sau:
Sau khi chỉnh sửa, khởi động lại dịch vụ database bằng user root thông qua “service postgresql stop/start” hoặc bằng user postgres với lệnh pg_ctl stop/start
d. Kiểm tra lại việc đăng nhập của người dùng
No comments:
Post a Comment