PostgreSQL hoặc Postgres là một hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng. Bài viết này sẽ hướng dẫn các bạn cách cài đặt PostgreSQL trên Ubuntu 18.
Cài đặt PostgreSQL trên Ubuntu 18 – PostgreSQL hoặc Postgres là một hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng mã nguồn mở với nhiều tính năng nâng cao cho phép bạn tạo các ứng dụng web phức tạp.
Trong bài viết này VINASTAR sẽ hướng dẫn các bạn cách cài đặt PostgreSQL trên Ubuntu 18.
Cài đặt PostgreSQL trên Ubuntu
Tại thời điểm viết bài viết này, phiên bản mới nhất của PostgreSQL có sẵn từ kho ứng dụng chính thức của Ubuntu là PostgreQuery phiên bản 10.12.
Để cài đặt PostgreSQL trên máy chủ Ubuntu của bạn, hãy làm theo các bước dưới đây:
1. Cài đặt PostgreSQL
Đầu tiên các bạn tiến hành cập nhật hệ thống bằng lệnh sau
sudo apt update && sudo apt upgrade -y
Sau khi quá trình cập nhật hoàn tất hãy sử dụng lệnh sau để cài đặt PostgreSQL
sudo apt install postgresql postgresql-contrib -y
2. Xác minh cài đặt PostgreSQL
Sau khi quá trình cài đặt hoàn tất, dịch vụ PostgreSQL sẽ tự động khởi động. Để xác minh cài đặt và kiểm tra phiên bản PostgreSQL các bạn sử dụng lệnh sau:
sudo -u postgres psql -c "SELECT version();"
psql là một tiện ích dòng lệnh cho phép bạn tương tác với máy chủ PostgreSQL.
3. Roles và phương thức xác thực của PostgreSQL
Quyền truy cập cơ sở dữ liệu trong PostgreSQL được xử lý với khái niệm Roles. Một Roles có thể đại diện cho người dùng hoặc một nhóm người dùng.
PostgreSQL hỗ trợ nhiều phương thức xác thực. Các phương pháp được sử dụng phổ biến nhất là:
- Trust – Với phương thức này, Role có thể kết nối mà không cần mật khẩu, miễn là các tiêu chí được xác định trong pg_hba.conf được đáp ứng.
- Password – Một Role có thể kết nối bằng cách cung cấp mật khẩu. Mật khẩu có thể được lưu trữ dưới dạng scram-sha-256, md5 hoặc dạng text không mã hoá.
- Ident – Phương pháp này chỉ được hỗ trợ trên các kết nối TCP/IP. Nó hoạt động bằng cách lấy tên người dùng hệ điều hành khách hàng, với ánh xạ tên người dùng tùy chọn.
- Peer – Tương tự như Ident nhưng nó chỉ hỗ trợ trên các kết nối nội bộ (Local).
Xác thực ứng dụng khách PostgreSQL được xác định trong tệp cấu hình có tên pg_hba.conf. Theo mặc định, đối với các kết nối nội bộ (Local), PostgreSQL sẽ sử dụng phương thức xác thực Peer.
User postgres được tạo tự động khi bạn cài đặt PostgreSQL. Người dùng này là superuser của PostgreSQL và nó tương đương với người dùng root trong MySQL.
Để đăng nhập vào máy chủ PostgreSQL với tư cách là User postgres, trước tiên bạn cần chuyển sang user postgres và sau đó truy cập vào dấu nhắc PostgreQuery bằng tiện ích psql:
sudo su - postgres psql
Từ đây bạn có thể tương tác với ví dụ PostgreSQL của bạn. Để thoát khỏi PostgreSQL, gõ lệnh:
q
Bạn cũng có thể truy cập PostgreSQL mà không cần chuyển đổi người dùng bằng lệnh sudo:
sudo -u postgres psql
Người dùng postgres thường chỉ được sử dụng với kết nối nội bộ (Local) và không nên đặt mật khẩu cho người dùng này.
4. Tạo Role và cơ sở dữ liệu PostgreSQL
Chỉ có superuser và user có đặc quyền CREATEROLE mới có thể tạo ra Roles mới.
Trong ví dụ sau, chúng tôi sẽ tạo một Roles mới có tên là Vinastar một cơ sở dữ liệu có tên Vinastardb và cấp các đặc quyền trên cơ sở dữ liệu.
- Kết nối với Shell PostgreSQL
sudo -u postgres psql
- Tạo một Roles PostgreSQL mới
Lệnh sau sẽ tạo một Roles mới có tên Vinastar:
create role Vinastar;
- Tạo cơ sở dữ liệu PostgreSQL mới
Tạo một cơ sở dữ liệu mới có tên Vinastardb bằng lệnh createdb:
create database Vinastardb;
Để cấp quyền cho người dùng Vinastar trên cơ sở dữ liệu Vinastardb đã tạo ở bước trước, hãy chạy truy vấn sau:
grant all privileges on database Vinastardb to Vinastar;
5. Kết luận
Qua bài viết này VINASTAR đã hướng dẫn các bạn cài đặt PostgreSQL trên Ubuntu 18 cũng như tìm hiểu cách tạo Role, database và cấp đặc quyền cho Role. nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm Hướng dẫn cài đặt MariaDB trên Ubuntu 18.