CentOS 8 Server - #8 Install PostgreSQL
Mục lục:
- Điều kiện tiên quyết
- Cài đặt PostgreSQL trên CentOS 8
- Các vai trò và phương thức xác thực của PostgreSQL
- Tạo vai trò và cơ sở dữ liệu PostgreSQL
- Cho phép truy cập từ xa vào máy chủ PostgreSQL
- Phần kết luận
PostgreSQL hoặc Postgres là một hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng mục đích chung nguồn mở với nhiều tính năng nâng cao cho phép bạn xây dựng các môi trường chịu lỗi hoặc các ứng dụng phức tạp.
Trong hướng dẫn này, chúng tôi sẽ thảo luận về cách cài đặt máy chủ cơ sở dữ liệu PostgreSQL trên CentOS 8. Trước khi chọn cài đặt phiên bản nào, hãy đảm bảo rằng các ứng dụng của bạn hỗ trợ nó.
Chúng tôi cũng sẽ khám phá những điều cơ bản về quản trị cơ sở dữ liệu PostgreSQL.
Điều kiện tiên quyết
Để có thể cài đặt các gói, bạn cần phải đăng nhập với quyền root hoặc người dùng với quyền sudo.
Cài đặt PostgreSQL trên CentOS 8
Tại thời điểm viết bài viết này, có hai phiên bản máy chủ PostgreSQL có sẵn để cài đặt từ kho lưu trữ CentOS tiêu chuẩn: phiên bản 9.6 và 10.0.
Để liệt kê các luồng mô-đun PostgreSQL có sẵn, gõ:
dnf module list postgresql
Đầu ra cho thấy mô-đun postgresql có sẵn với hai luồng. Mỗi luồng có hai hồ sơ: máy chủ và máy khách. Luồng 10 với máy chủ hồ sơ là mặc định:
CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module
-
Để cài đặt luồng mặc định, loại máy chủ PostgreSQL phiên bản 10.0:
sudo dnf install @postgresql:10Để cài đặt loại máy chủ PostgreSQL phiên bản 9.6:
sudo dnf install @postgresql:9.6
Bạn cũng có thể muốn cài đặt gói contrib cung cấp một số tính năng bổ sung cho cơ sở dữ liệu PostgreQuery:
sudo dnf install postgresql-contrib
Sau khi cài đặt hoàn tất, hãy khởi tạo cơ sở dữ liệu PostgreSQL bằng lệnh sau:
sudo postgresql-setup initdb
Initializing database… OK
Bắt đầu dịch vụ PostgreSQL và cho phép nó bắt đầu khởi động:
sudo systemctl enable --now postgresql
Sử dụng công cụ
psql
để xác minh cài đặt bằng cách kết nối với máy chủ cơ sở dữ liệu PostgreSQL và in phiên bản của nó:
sudo -u postgres psql -c "SELECT version();"
PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit
Các vai trò và phương thức xác thực của PostgreSQL
PostgreSQL xử lý các quyền truy cập cơ sở dữ liệu bằng cách sử dụng khái niệm vai trò. Một vai trò có thể đại diện cho người dùng cơ sở dữ liệu hoặc một nhóm người dùng cơ sở dữ liệu.
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à:
- Tin cậy - Một vai trò có thể kết nối mà không cần mật khẩu, miễn là các điều kiện được xác định trong
pg_hba.confđược đáp ứng.Password - Một vai trò 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ạngscram-sha-256,md5vàpassword(văn bản rõ ràng).Ident - 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 của khách hàng, với ánh xạ tên người dùng tùy chọn.Peer - Giống như Nhận dạng, nhưng nó chỉ được hỗ trợ trên các kết nối cục bộ.
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 cục bộ, PostgreSQL được đặt để sử dụng phương thức xác thực ngang hàng.
Người dùng
postgres
được tạo tự động khi bạn cài đặt máy chủ PostgreSQL. Người dùng này là siêu người dùng cho phiên bản PostgreSQL. Nó tương đương với người dùng root MySQL.
Để đăng nhập vào máy chủ PostgreSQL với tư cách là người dùng
postgres
, trước tiên hãy chuyển sang người dùng và sau đó truy cập vào dấu nhắc
psql
tiện ích
psql
:
sudo su - postgres
psql
Từ đây, bạn có thể tương tác với phiên bản PostgreSQL. Để thoát khỏi trình bao PostgreSQL, gõ:
\q
Bạn cũng có thể truy cập lời nhắc PostgreSQL mà không cần chuyển người dùng bằng
sudo
:
sudo -u postgres psql
Thông thường người dùng
postgres
chỉ được sử dụng từ localhost.
Tạo vai trò và cơ sở dữ liệu PostgreSQL
Chỉ những siêu nhân và vai trò có đặc quyền
CREATEROLE
mới có thể tạo ra vai trò mới.
Trong ví dụ sau, chúng tôi sẽ tạo một vai trò mới có tên
john
, cơ sở dữ liệu có tên
johndb
và cấp các đặc quyền trên cơ sở dữ liệu.
-
Đầu tiên, kết nối với trình bao PostgreSQL:
sudo -u postgres psqlTạo một vai trò PostgreSQL mới bằng cách sử dụng lệnh thr sau:
create role john;Tạo một cơ sở dữ liệu mới:
create database johndb;Cấp đặc quyền cho người dùng trên cơ sở dữ liệu bằng cách chạy truy vấn sau:
grant all privileges on database johndb to john;
Cho phép truy cập từ xa vào máy chủ PostgreSQL
Theo mặc định, máy chủ PostgreSQL chỉ lắng nghe trên giao diện cục bộ
127.0.0.1
.
Để cho phép truy cập từ xa vào máy chủ PostgreSQL của bạn, hãy mở tệp cấu hình:
sudo nano /var/lib/pgsql/data/postgresql.conf
Cuộn xuống phần
CONNECTIONS AND AUTHENTICATION
và thêm / chỉnh sửa dòng sau:
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Lưu tệp và khởi động lại dịch vụ PostgreSQL với:
sudo systemctl restart postgresql
Xác minh các thay đổi với tiện ích
ss
:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
Đầu ra ở trên cho thấy rằng máy chủ PostgreSQL đang lắng nghe trên cổng mặc định trên tất cả các giao diện (0.0.0.0).
Bước cuối cùng là cấu hình máy chủ để chấp nhận các kết nối từ xa bằng cách chỉnh sửa tệp
pg_hba.conf
.
Dưới đây là một số ví dụ cho thấy các trường hợp sử dụng khác nhau:
/var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Phần kết luận
CentOS 8 cung cấp hai phiên bản PostgreSQL: 9.6 và 10.0.
Để biết thêm thông tin về chủ đề này, hãy truy cập Tài liệu PostgreSQL
cơ sở dữ liệu postgresqlĐầU tiên, một nền tảng nhỏ. Văn phòng mua hàng 2013 chỉ cung cấp giấy phép cho một máy tính cá nhân (trái với tối đa năm máy tính có Office 365). Giấy phép Office 2013 đi thêm một bước nữa vào vực thẳm draconian, mặc dù, bằng cách xác định rằng phần mềm được gắn liền với thiết bị mà nó được cài đặt trên đó. Điều này có nghĩa là bạn không thể cài đặt lại Office 2013 nếu bạn nhận được một máy tính mới.
Microsoft đang sử dụng một cách tiếp cận draconian để cấp phép Office 2013.
Không thể cài đặt hoặc gỡ cài đặt chương trình trong Trình gỡ rối cài đặt và gỡ cài đặt chương trình Windows 10/8/7
Của Microsoft sẽ giúp bạn khắc phục sự cố nếu bạn không thể cài đặt hoặc gỡ cài đặt chương trình trong Windows 7/8/10.
Cách 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ục đích chung nguồn mở. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn hai phương pháp khác nhau về cách cài đặt PostgreSQL trên máy CentOS 7 của bạn.







