How to Install PostgreSQL on Debian 9
Mục lục:
- Điều kiện tiên quyết
- Cài đặt 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, thường được gọi đơn giản là 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ở. PostgreSQL có nhiều tính năng nâng cao như sao lưu trực tuyến, phục hồi thời gian, giao dịch lồng nhau, truy vấn SQL và JSON, kiểm soát đồng thời nhiều phiên bản (MVCC), sao chép không đồng bộ và hơn thế nữa.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt PostgreSQL trên Debian 9 và khám phá các nguyên tắc cơ bản của quản trị cơ sở dữ liệu cơ bản.
Đ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 người dùng mà bạn đã đăng nhập có quyền sudo.
Cài đặt 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 lưu trữ Debian là PostgreQuery phiên bản 9.6.
Để cài đặt PostgreSQL trên máy chủ Debian của bạn, hãy hoàn thành các bước sau:
-
Bắt đầu bằng cách cập nhật chỉ mục gói cục bộ:
sudo apt updateCài đặt máy chủ PostgreSQL và gói đóng góp PostgreSQL cung cấp các tính năng bổ sung cho cơ sở dữ liệu PostgreQuery:
sudo apt install postgresql postgresql-contribKhi quá trình cài đặt hoàn tất, dịch vụ PostgreSQL sẽ tự động bắt đầu. Để xác minh cài đặt, chúng tôi sẽ kết nối với máy chủ cơ sở dữ liệu
psqltiện íchpsqlvà in phiên bản máy chủ:sudo -u postgres psql -c "SELECT version();"Đầu ra sẽ như thế này:
version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)
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ợ một số 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) Nhận dạng - Phương pháp này chỉ được hỗ trợ trên các kết nối TCP / IP. 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 cho 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 đó bạn có thể 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 kiểu shell PostgreSQL:
\q
Bạn có thể sử dụng
sudo
để truy cập vào dấu nhắc PostgreSQL mà không cần chuyển đổi người dùng:
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.
Tạo vai trò và cơ sở dữ liệu PostgreSQL
Bạn có thể tạo vai trò mới từ dòng lệnh bằng lệnh tạo. 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.
-
Tạo một vai trò PostgreSQL mới
Lệnh sau sẽ tạo một vai trò mới có tên john:
sudo su - postgres -c "createuser 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:
sudo su - postgres -c "createdb johndb"Cấp đặc quyền
Để cấp quyền cho người dùng
johntrên cơ sở dữ liệu mà chúng tôi đã tạo ở bước trước, hãy kết nối với trình bao PostgreQuery:sudo -u postgres psqlvà 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, PostgreSQL, máy chủ chỉ 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 /etc/postgresql/9.6/main/postgresql.conf
/etc/postgresql/9.6/main/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 service postgresql restart
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:
/etc/postgresql/9.6/main/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
Phần kết luận
Bạn đã học cách cài đặt và định cấu hình PostgreSQL trên máy chủ Debian 9 của mình. Để biết thêm thông tin về chủ đề này, hãy tham khảo 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 debian 10
Hướng dẫn này hướng dẫn bạn các bước cài đặt máy chủ cơ sở dữ liệu PostgreSQL trên Debian 10. PostgreQuery, thường được gọi đơn giản là 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ở.







