Hướng dẫn cài đặt và sử dụng PostgreSQL trên CentOS 6

PostgreSQL, thường được gọi là “postgres” là một hệ thống quản lý cơ sở dữ liệu phổ biến sử dụng ngôn ngữ truy vấn SQL để thao tác dữ liệu.

Trong hướng dẫn này, hãy xem cách cài đặt và sử dụng postgres trên Centos 6.

Cài đặt PostpreSQL

Truy cập vào trang web tải PostgreSQL repository và tìm phiên bản mới nhất của postgres có sẵn cho phiên bản CentOS của bạn.

Thêm PostgreSQL 9.6 repository cho CentOS 6.x 64bit:

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Cập nhật danh sách repository bằng lệnh sau:

yum repolist

Cài đặt postgresql bằng lệnh sau:

yum install postgresql96-server postgresql96-contrib

Khởi tạo Database Environment

Khởi tạo postgresql databse bằng lệnh sau:

service postgresql-9.6 initdb

Khởi động postgrepsql và thiết lập tự khởi động cùng OS

service postgresql-9.6 start

chkconfig postgresql-9.6 on

Điều chỉnh SELinux

Chạy lệnh sau để đảm bảo PostgreSQL có thể hoạt động nếu SELinux được bật trên hệ thống của bạn.

setsebool -P httpd_can_network_connect_db 1

Bạn không thể đăng nhập vào PostgreSQL nếu bạn không chạy lệnh trên.

Đăng nhập PostgreSQL command prompt

Theo mặc định, postgres tạo ra một user và database gọi là “postgres”. Cần chuyển sang user postgres để thực hiện các hoạt động liên quan đến postgresql. Postgresql cho phép tương tác với các cơ sở dữ liệu của nó thông qua một giao diện được gọi là psql.

Bây giờ, đăng nhập vào user postgres như sau:

su postgres

Để đăng nhập vào postgresql, gõ lệnh sau:

psql

Sample Output:

Để thoát khỏi giao diện postgresql, nhập \q hoặc quit để quay trở lại giao diện Terminal.

Đặt mật khẩu cho user “postgres”

Đăng nhập vào postgresql

su postgres

psql

Đặt mật khẩu cho user postgres bằng lệnh sau:

postgres=# \password postgres 
Enter new password: 
Enter it again: 
postgres=# \q

Để cài đặt PostgreSQL Adminpack, hãy nhập lệnh sau tại dấu nhắc:

postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION

Tạo User và Databse

Ví dụ tạo một người dùng mới tên là “duyngoc”  với mật khẩu “centos”, và cơ sở dữ liệu tên là “mydb”

Chuyển sang user postgres:

su postgres

Tạo user duyngoc:

$ createuser duyngoc

Tạo databse mydb:

$ createdb mydb

Bây giờ đăng nhập vào psql prompt, thiết lập mật khẩu và cấp quyền truy cập vào database mydb cho duyngoc.

$ psql
psql (9.6.2)
Type "help" for help.

postgres=# alter user duyngoc with encrypted password 'centos';
ALTER ROLE

postgres=# grant all privileges on database mydb to duyngoc;
GRANT
postgres=#

Sample Output:

Xóa User và Database

Để xóa database, chuyển sang user postgres:

su postgres

Nhập lệnh sau để xóa database:

$ dropdb <databse-name>

Để xóa user, nhập lệnh sau:

$ dropuser <user-name>

Cấu hình TCP/IP PostgreSQL

Mặc định, kết nối TCP/IP bị vô hiệu hóa, do đó người dùng từ máy tính khác không thể truy cập vào postgresql. Để cho phép kết nối người dùng từ máy tính khác, chỉnh sửa file /var/lib/pgsql/9.6/data/postgresql.conf:

vi /var/lib/pgsql/9.6/data/postgresql.conf

Tìm các dòng:

[...] 
#listen_addresses = 'localhost' 
[...] 
#port = 5432 
[...]

Bỏ comment hai dòng trên, và thiết lập địa chỉ IP của máy chủ postgresql hoặc thiết lập “*” để lắng nghe từ mọi địa chỉ.

listen_addresses = '*' 
port = 5432

Khởi động lại postgresql để lưu thay đổi:

service postgresql-9.6 restart

Kiểm tra:

Chúc các bạn thực hiện thành công!

Rate This Article

Leave A Comment?