Hướng dẫn cài đặt PostgreSQL trên CentOS 7

PostgreSQL là hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng với nhiều tính năng nâng cao. Bài viết này sẽ hướng dẫn cài đặt PostgreSQL trên CentOS 7.

Cài đặt PostgreSQL trên CentOS 7 – 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 HOSTVN sẽ hướng dẫn các bạn cách cài đặt PostgreSQL trên CentOS 7.

Hướng dẫn cài đặt PostgreSQL trên CentOS 7

1. Điều kiện tiên quyết

Để làm theo hướng dẫn này các bạn cần một VPS sử dụng hệ điều hành CentOS 7. Nếu chưa có VPS các bạn có thể tham khảo các gói VPS SSD tại HOSTVN

ĐĂNG KÝ NGAY

2. Cài đặt PostgreSQL trên CentOS 7

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 chính thức của PostgreQuery là phiên bản 12. Trước khi tiếp tục, bạn nên truy cập Kho lưu trữ Yum của PostgreSQL và kiểm tra xem có phiên bản mới nào không.

2.1. Bước 1: Kích hoạt kho lưu trữ PostgreSQL

Để kích hoạt kho lưu trữ PostgreSQL, các bạn chỉ cần chạy lệnh sau:

yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2.2. Bước 2: Cài đặt PostgreSQL

Khi kho lưu trữ được kích hoạt, hãy chạy lệnh sau để cài đặt PostgreSQL:

yum -y install postgresql12 postgresql12-server

2.3. Bước 3: Khởi tạo cơ sở dữ liệu

Để khởi tạo loại cơ sở dữ liệu PostgreSQL hãy chạy lệnh sau:

/usr/pgsql-12/bin/postgresql-12-setup initdb

Screenshot_45

2.4. Bước 4: Khởi động PostgreSQL

Để khởi động PostgreSQL và cho phép nó tự khởi động mỗi khi khởi động lại hệ thống hãy chạy lần lượt các lệnh sau đây:

systemctl enable postgresql-12
systemctl start postgresql-12

Screenshot_46

2.5. Bước 5: Kiểm tra

Để kiểm tra xem PostgreSQL đã hoạt động hay chưa các bạn sử dụng lệnh sau:

service postgresql-12 status

Screenshot_47

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

Screenshot_48

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

Screenshot_49 - cài đặt PostgreSQL trên CentOS 7

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à hostvn một cơ sở dữ liệu có tên hostvndb 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 hostvn:

create role hostvn;

Screenshot_50 - cài đặt PostgreSQL trên CentOS 7

  • Tạo cơ sở dữ liệu PostgreSQL mới

Tạo một cơ sở dữ liệu mới có tên hostvndb bằng lệnh createdb:

create database hostvndb;

Screenshot_51 - cài đặt PostgreSQL trên CentOS 7

  • Cấp đặc quyền

Để cấp quyền cho người dùng hostvn trên cơ sở dữ liệu hostvndb đã tạo ở bước trước, hãy chạy truy vấn sau:

grant all privileges on database hostvndb to hostvn;

Screenshot_52 - cài đặt PostgreSQL trên CentOS 7

5. Kết luận

Qua bài viết này HOSTVN đã hướng dẫn các bạn cài đặt PostgreSQL trên CentOS 7 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 MongoDB trên CentOS 7.

Góc chia sẻVPS Server

Hướng dẫn cài đặt Docker trên CentOS 7

2020-4-27 22:50:10

Góc chia sẻVPS Server

Hướng dẫn cài đặt Docker trên Ubuntu 18.04

2020-4-28 10:22:50

0 trả lời ATác giả MQuản lý
    Chưa có phản hồi nào
Trung tâm cá nhân
Giỏ hàng
Phiếu mua hàng
Đăng nhập ngay
Tin nhắn Danh sách tin nhắn
Tìm kiếm