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.
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 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
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.
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.
Đă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
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.
$ psqlpsql (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 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>
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!
Xin chào chúng mình là Gen Z. Thế hệ tuổi trẻ Gen Z chúng mình chia sẻ cho nhau những bài viết bổ ích giúp nhằm mục đích phi lợi nhuận và cùng nhau phát triển bản thân về cả tri thức lẫn tinh thần. Nếu bạn đam mê viết lách và chia sẻ câu chuyện cá nhân của bạn trên nền tảng internet hãy gửi tin nhắn đến cho chúng mình cùng gia nhập cộng đồng cùng nhau học hỏi và chia sẻ kiến thức nhé