Android

Cách cài đặt postgresql trên Ubuntu 18.04

How To install phpPgAdmin with postgresql Ubuntu 18.04 LTS

How To install phpPgAdmin with postgresql Ubuntu 18.04 LTS

Mục lục:

Anonim

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ở. PostgreSQL có 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 cách cài đặt PostgreSQL trên Ubuntu 18.04 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 bạn đã đăng nhập với tư cách là người dùng có quyền sudo.

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 chính thức của Ubuntu là PostgreQuery phiên bản 10.4.

Để 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

    Làm mới chỉ mục gói cục bộ và cài đặt máy chủ PostgreQuery 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:

    sudo apt update sudo apt install postgresql postgresql-contrib

    Xác minh cài đặt PostgreSQL

    Sau khi 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ẽ cố gắng kết nối với máy chủ cơ sở dữ liệu PostgreSQL bằng psql và in phiên bản máy chủ:

    sudo -u postgres psql -c "SELECT version();"

psql là một tiện ích dòng lệnh tương tác cho phép bạn tương tác với máy chủ PostgreSQL.

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. Việ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ạng scram-sha-256 md5 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ũ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.

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.

  1. 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 john trê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 psql

    và 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 /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/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/10/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à cấu hình PostgreSQL trên máy chủ Ubuntu 18.04 của mình.

Bạn có thể tham khảo Tài liệu PostgreSQL 10.4 để biết thêm thông tin về chủ đề này.

cơ sở dữ liệu postgresql của Ubuntu