Install Postgres on Centos 7
Mục lục:
- Điều kiện tiên quyết
- Cài đặt PostgreSQL từ kho CentOS
- Cài đặt PostgreSQL từ kho PostgreSQL
- 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 tạo các ứng dụng web phức tạp.
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. Phương pháp đầu tiên sẽ hướng dẫn bạn các bước cần thiết để cài đặt PostgreSQL v9.2.23 từ kho lưu trữ CentOS trong khi phương pháp thứ hai sẽ chỉ cho bạn cách cài đặt phiên bản PostgreQuery mới nhất từ kho lưu trữ PostgreQuery chính thức.
Nếu ứng dụng của bạn không yêu cầu phiên bản mới nhất, chúng tôi khuyên bạn nên sử dụng phương pháp đầu tiên và cài đặt PostgreSQL từ kho lưu trữ của CentOS.
Chúng tôi cũng sẽ khám phá các nguyên tắc cơ bản của quản trị cơ sở dữ liệu PostgreSQL.
Điều kiện tiên quyết
Trước khi tiếp tục với hướng dẫn này, hãy đảm bảo bạn đã đăng nhập với tư cách là người dùng có quyền sudo.
Cài đặt PostgreSQL từ kho CentOS
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 lưu trữ của CentOS là PostgreQuery phiên bản 9.2.23.
Để cài đặt PostgreSQL trên máy chủ CentOS của bạn, hãy làm theo các bước dưới đây:
-
Cài đặt PostgreSQL
Để cài đặt máy chủ PostgreSQL cùng với gói đóng góp PostgreSQL cung cấp một số tính năng bổ sung cho cơ sở dữ liệu PostgreQuery, chỉ cần gõ:
sudo yum install postgresql-server postgresql-contribĐang khởi tạo cơ sở dữ liệu
Khởi tạo cơ sở dữ liệu PostgreSQL bằng lệnh sau:
sudo postgresql-setup initdbInitializing database… OKBắt đầu PostgreSQL
Để bắt đầu dịch vụ PostgreSQL và cho phép nó khởi động khi khởi động, chỉ cần gõ:
sudo systemctl start postgresqlsudo systemctl enable postgresqlXác minh cài đặt PostgreSQL
Để xác minh cài đặt, chúng tôi sẽ cố gắng kết nối với máy chủ cơ sở dữ liệu PostgreSQL bằng công cụ
psqlvà in phiên bản máy chủ:sudo -u postgres psql -c "SELECT version();"PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)
Cài đặt PostgreSQL từ kho PostgreSQL
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à PostgreQuery phiên bản 10.4. Trước khi tiếp tục bước tiếp theo, bạn nên truy cập trang Kho lưu trữ Yum của PostgreSQL và kiểm tra xem có phiên bản mới nào không.
Thực hiện theo các bước bên dưới để cài đặt phiên bản PostgreSQL mới nhất trên máy chủ CentOS của bạn:
-
Kích hoạt kho lưu trữ PostgreSQL
Để kích hoạt kho lưu trữ PostgreSQL, chỉ cần cài đặt tệp
rpmkho lưu trữ:sudo yum installCài đặt PostgreSQL
Khi kho lưu trữ được kích hoạt, hãy cài đặt máy chủ PostgreSQL và các gói đóng góp PostgreSQL với:
sudo yum install postgresql10-server postgresql10-contribĐang khởi tạo cơ sở dữ liệu
Để khởi tạo loại cơ sở dữ liệu PostgreSQL:
sudo /usr/pgsql-10/bin/postgresql-10-setup initdbInitializing database… OKBắt đầu PostgreSQL
Để bắt đầu dịch vụ PostgreSQL và cho phép nó bắt đầu với loại khởi động:
sudo systemctl start postgresql-10sudo systemctl enable postgresql-10Xác minh cài đặt PostgreSQL
Để xác minh cài đặt, chúng tôi sẽ cố gắng kết nối với máy chủ cơ sở dữ liệu PostgreSQL bằng công cụ
psqlvà in phiên bản máy chủ:sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)
Các vai trò 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 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 - Với phương thức này, vai trò 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 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-256md5vàpassword(văn bản rõ ràng).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 của khách hàng, với ánh xạ tên người dùng tùy chọn.Peer - Tương tự 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 PostgreSQL. Người dùng này là siêu người dùng cho phiên bản PostgreSQL và 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 bạn cần chuyển sang postgres của 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 ví dụ PostgreSQL của bạn. Để 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 đổi người dùng bằng
sudo
:
sudo -u postgres psql
Người dùng
postgres
thường chỉ được sử dụng từ máy chủ cục bộ và không nên đặt mật khẩu cho người dùng này.
psql
là
/usr/pgsql-10/bin/psql
.
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 là
john
một cơ sở dữ liệu có tên
johndb
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 psqlTạo một vai trò PostgreSQL mới
Lệnh sau sẽ tạo một vai trò mới có tên john:
create role john;Tạo một cơ sở dữ liệu PostgreSQL mới
Tạo một cơ sở dữ liệu mới có tên johndb bằng lệnh createdb:
create database johndb;Cấp đặc quyền
Để cấp quyền cho người dùng
johntrên cơ sở dữ liệu chúng tôi đã tạo ở bước trước, hãy 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ủ
listen_addresses = '*'
của bạn, hãy mở tệp cấu hình
postgresql.conf
và thêm
listen_addresses = '*'
trong phần
CONNECTIONS AND AUTHENTICATION
.
sudo vim /var/lib/pgsql/data/postgresql.conf
Nếu bạn đang chạy PostgreSQL phiên bản 10, đường dẫn đến tệp là
/var/lib/pgsql/10/data/postgresql.conf
./var/lib/pgsql/data/postgresql.conf
#------------------------------------------------------------------------------ # 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ụ PostgreQuery bằng:
sudo systemctl restart postgresql
Nếu bạn đang chạy PostgreSQL phiên bản 10, hãy khởi động lại dịch vụ PostgreSQL với
systemctl restart postgresql-10
.
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:*
Như bạn có thể thấy từ đầu ra phía trên, máy chủ PostgreSQL đang lắng nghe 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 will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Nếu bạn đang chạy PostgreSQL phiên bản 10, đường dẫn đầy đủ đến tệp là
/var/lib/pgsql/10/data/pg_hba.conf
.
Phần kết luận
Bạn đã tìm hiểu cách cài đặt và định cấu hình PostgreSQL trên máy chủ CentOS 7 của mình.
Bạn có thể tham khảo Tài liệu PostgreSQL để biết thêm thông tin về chủ đề này.
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 8
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. 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 PostgreQuery.







