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.
Contents
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!
Leave A Comment?