GIT – Bài viết này sẽ hướng dẫn các bạn cài đặt PostgreSQL 9.1 trên 6. Tuy nhiên cách cài đặt này cũng áp dụng được trên 5.

1. Cài đặt PostgreSQL Repository(repo):
– Tìm và tải các bản repo mới nhất cho phiên bản RHEL/CentOS/Fedora mà bạn đang sử dụng [tại đây]
– Các repo rpm này có các phiên bản khác nhau dành cho 32 hoặc 64 bit. Bạn nên chọn phiên bản phù hợp. Ở đây mình chạy CentOS 6 (32bit) nên mình sẽ tải về gói này http://yum.pgrpms.org/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-4.noarch.rpm .
– Mình sử dụng wget để tải về:

wget http://yum.pgrpms.org/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-4.noarch.rpm

và kết quả như sau :

[root@db1 ~]# wget http://yum.pgrpms.org/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-4.noarch.rpm
–2012-03-30 19:20:35– http://yum.pgrpms.org/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-4.noarch.rpm
Resolving yum.pgrpms.org… 98.129.198.114
Connecting to yum.pgrpms.org|98.129.198.114|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 5164 (5.0K) [application/x-redhat-package-manager]
Saving to: “pgdg-centos91-9.1-4.noarch.rpm”

100%[=====================================================================>] 5,164 17.1K/s in 0.3s

2012-03-30 19:20:36 (17.1 KB/s) – “pgdg-centos91-9.1-4.noarch.rpm” saved [5164/5164]

– Tiếp theo, bạn cài đặt repo sử dụng lệnh “rpm”:

rpm -ivh pgdg-centos91-9.1-4.noarch.rpm

– Do mặc định CentOS 6 đã đính kèm PostgreSQL 8.4 trong repo chính thức, để tránh các “xung đột” về sau chúng ta sẽ loại trừ (exclude) gói PostgreSQL 8.4 này bằng cách thêm ‘exclude=postgresql*’ vào phần “[base]” và “updates” của tập tin /etc/yum.repos.d/CentOS-Base.repo tương tự như sau:

[base]
name=CentOS-$releasever – Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
exclude=postgresql*
#released updates
[updates]
name=CentOS-$releasever – Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
exclude=postgresql*

2. Sử dụng Yum để cài đặt PostgreSQL 9.1
– Bây giờ, bạn có thể sử dụng yum để cài đặt PostgreSQL 9.1 :

yum postgresql91 postgresql91-devel postgresql91-server postgresql91-libs postgresql91-contrib


3. Khởi tạo và khởi chạy PostgreSQL:

– Khởi tạo PostgreSQL:

service postgresql-9.1 initdb

– Khởi chạy PostgreSQL:

service postgresql-9.1 start

– Cấu hình để PostgreSQL tự khởi chạy lúc hệ thống khởi động:

chkconfig postgresql-9.1 on

4. Đặt mật khẩu cho tài khoản postgres:
– Để đặt mật khẩu cho tài khoản quản trị “postgres” các bạn làm tương tự như sau (ở ví dụ này mình đặt mật khẩu là “changeme”):

[root@db1 ~]# su - postgres
-bash-4.1$ psql postgres postgres
psql (9.1.3)
Type "help" for help.

postgres=# alter user postgres with  'changeme';
ALTER ROLE
postgres=#


5. Cấu hình để PostgreSQL xác thực bằng mật khẩu:

– Mặc định khi cài PostgreSQL kiểu xác thực sẽ là ident (xác thực qua ident server) cho các kết nối thông qua TCP/IP và xác thực kiểu “peer” cho các kết nối thông qua Unix socket.
– Để xác thực bằng mật khảu bảo mật, bạn phải chỉnh sửa tập tin /var/lib/pgsql/9.1/data/pg_hba.conf và thay đổi các METHOD thành “md5″ tương tự như hình sau, có thể xem thêm cách cấu hình tập tin pg_hba.conf [tại đây]:
change auth method in postgresql
– Để các thay đổi có hiệu lực, bạn phải reload tập tin pg_hba.conf tương tự như sau :

[root@db1 ~]# su - postgres
-bash-4.1$ /usr/pgsql-9.1/bin/pg_ctl reload
server signaled
-bash-4.1$

– Thử kiểm tra lại xem có bị hỏi mật khẩu không ?

[root@db1 ~]# psql postgres postgres
Password for user postgres:
psql (9.1.3)
Type "help" for help.

postgres=#

6. Cấu hình PostgreSQL để có thể truy cập từ xa:
– Ví dụ: Bạn đang ở một server khác, muốn truy cập vào các database của PostgreSQL để khai thác các dữ liệu của bạn. Tuy nhiên mặc định PostgreSQL chỉ cho phép truy cập từ localhost ( từ chính máy chạy PostgreSQL). Vì thế để truy cập được PostgreSQL từ các server khác các bạn phải hiệu chỉnh tập tin postgresql.conf và pg_hba.conf ở thư mục /var/lib/pgsql/9.1/data/ . Trong ví dụ này mình sẽ cho phép truy cập vào PostgreSQL từ các client nằm trong đường mạng 192.168.255.0/24.
– Chỉnh sửa tập tin postgresql.conf, thay đổi “listen_address” tương tự hình sau :
Change postgresql listen address
– Chỉnh sửa tập tin pg_hba.conf và thay đổi tương tự như hình sau:
allow remote connections in postgresql
– Nếu bạn muốn cho phép truy cập từ bất cứ IP nào, thì chỉ chỉnh sửa “192.168.255.0/24″ thành “0.0.0.0/0″ như hình sau:
allow connect from any ipv4 in postgresql
– Sau đó bạn phải restart postgresql để các tùy chỉnh có hiệu lực:

service postgresql-9.1 restart

– Nếu server đang chạy PostgreSQL có firewall, bạn nhớ mở port 5432 cho PostgreSQL!
– Thử truy cập từ một máy khác xem thành công không ?
postgresql remote connection

Thảo luận bài viết tại forum : http://forum.gocit.vn/threads/cai-dat-postgresql-9-tren-centos.535/

 

Print Friendly

Comments

comments

Bài viết liên quan