Cách cài đặt PostgreSQL trên Ubuntu 20.04

Tác giả NetworkEngineer, T.Mười 26, 2021, 05:29:25 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt PostgreSQL trên Ubuntu 20.04


PostgreSQL hoặc Postgres là một hệ thống quản lý cơ sở dữ liệu quan hệ, cung cấp việc triển khai ngôn ngữ truy vấn SQL. Nó tuân thủ các tiêu chuẩn và có nhiều tính năng nâng cao như giao dịch đáng tin cậy và đồng thời.

Hướng dẫn này trình bày cách nhanh chóng thiết lập và chạy Postgres trên máy chủ Ubuntu 20.04, từ cài đặt PostgreSQL đến thiết lập người dùng và cơ sở dữ liệu mới. Nếu bạn muốn có hướng dẫn chuyên sâu hơn về cài đặt và quản lý cơ sở dữ liệu PostgreSQL, hãy xem cách cài đặt và sử dụng PostgreSQL trên Ubuntu 20.04.

Để làm theo hướng dẫn này, bạn sẽ cần một máy chủ Ubuntu 20.04 đã được cấu hình bằng cách làm theo hướng dẫn thiết lập máy chủ ban đầu cho Ubuntu 20.04. Sau khi hoàn thành hướng dẫn điều kiện tiên quyết này, máy chủ của bạn phải có người dùng không phải root nhưng có quyền sudo và tường lửa UFW.

1. Cài đặt PostgreSQL.

Để cài đặt PostgreSQL, trước tiên hãy cập nhật máy chủ của bạn bằng lệnh sau.

Mã nguồn [Chọn]
$ sudo apt update
Sau đó, cài đặt gói Postgres cùng với tùy chọn -contrib để bổ sung một số tiện ích và chức năng bổ sung.

Mã nguồn [Chọn]
$ sudo apt install postgresql postgresql-contrib
2. Sử dụng Cơ sở dữ liệu và PostgreSQL Roles.

Theo mặc định, Postgres sử dụng một khái niệm gọi là "roles" để xử lý xác thực và ủy quyền. Về mặt nào đó, chúng tương tự như những người dùng và nhóm kiểu Unix thông thường.

Sau khi cài đặt, Postgres được thiết lập để sử dụng xác thực ident, có nghĩa là nó liên kết Postgres roles với một tài khoản phù hợp với hệ thống Unix / Linux. Nếu một roles tồn tại trong Postgres, tên người dùng Unix / Linux có cùng tên có thể đăng nhập với roles đó.

Quá trình cài đặt đã tạo một tài khoản người dùng được gọi là postgres được liên kết với Postgres roles mặc định. Có một số cách để sử dụng tài khoản này để truy cập Postgres. Một cách là chuyển sang tài khoản postgres trên máy chủ của bạn bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
$ sudo -i -u postgres
Sau đó, bạn có thể truy cập dấu nhắc Postgres bằng cách chạy:

Mã nguồn [Chọn]
# psql
Thao tác này sẽ đăng nhập bạn vào dấu nhắc PostgreSQL và từ đây bạn có thể tự do tương tác với hệ quản trị cơ sở dữ liệu ngay lập tức.

Để thoát khỏi lời nhắc PostgreSQL, hãy chạy như sau:

Mã nguồn [Chọn]
\q
Thao tác này sẽ đưa bạn trở lại dấu nhắc lệnh của postgres Linux. Để quay lại người dùng hệ thống thông thường của bạn, hãy chạy lệnh exit.

Mã nguồn [Chọn]
$ exit
Một cách khác để kết nối với dấu nhắc Postgres là chạy lệnh psql với tài khoản postgres trực tiếp với sudo.

Mã nguồn [Chọn]
$ sudo -u postgres psql
Điều này sẽ giúp bạn đăng nhập trực tiếp vào Postgres mà không có chương trình bash shell trung gian ở giữa.
Một lần nữa, bạn có thể thoát phiên tương tác Postgres bằng cách chạy như sau.

Mã nguồn [Chọn]
\q
3. Tạo New Role.

Nếu bạn đã đăng nhập bằng tài khoản postgres, bạn có thể tạo một New Role bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
$ createuser --interactive
Thay vào đó, nếu bạn muốn sử dụng sudo cho từng lệnh mà không cần chuyển từ tài khoản thông thường của mình, hãy chạy lệnh sau.

Mã nguồn [Chọn]
$ sudo -u postgres createuser --interactive
Dù bằng cách nào, tập lệnh sẽ nhắc bạn với một số lựa chọn và dựa trên phản hồi của bạn, thực thi các lệnh Postgres chính xác để tạo người dùng theo thông số kỹ thuật của bạn.

Mã nguồn [Chọn]
Enter name of role to add: vietnetwork
Shall the new role be a superuser? (y/n) y

4. Tạo New Database.

Một giả định khác mà hệ thống xác thực Postgres đưa ra theo mặc định là đối với bất kỳ vai trò nào được sử dụng để đăng nhập, vai trò đó sẽ có một cơ sở dữ liệu có cùng tên mà nó có thể truy cập.

Điều này có nghĩa là nếu người dùng bạn đã tạo trong phần cuối cùng được gọi là vietnetwork, thì vai trò đó sẽ cố gắng kết nối với cơ sở dữ liệu cũng được gọi là "vietnetwork" theo mặc định. Bạn có thể tạo cơ sở dữ liệu thích hợp bằng lệnh createdb.

Nếu bạn đăng nhập bằng tài khoản postgres, bạn sẽ nhập một cái gì đó như sau.

Mã nguồn [Chọn]
$ createdb vietnetwork
Thay vào đó, nếu bạn muốn sử dụng sudo cho từng lệnh mà không cần chuyển từ tài khoản thông thường của mình, bạn sẽ chạy lệnh sau.

Mã nguồn [Chọn]
$ sudo -u postgres createdb vietnetwork
5. Mở dấu nhắc lệnh của Postgres với New Role.

Để đăng nhập bằng việc xác thực dựa trên ident, bạn sẽ cần một người dùng Linux có cùng tên với cơ sở dữ liệu và vai trò Postgres của bạn.

Nếu bạn không có sẵn người dùng Linux phù hợp, bạn có thể tạo một người dùng bằng lệnh adduser. Bạn sẽ phải thực hiện việc này từ tài khoản không phải root của mình với các quyền sudo (nghĩa là không đăng nhập với tư cách người dùng postgres)

Mã nguồn [Chọn]
$ sudo adduser vietnetwork
Khi tài khoản mới này khả dụng, bạn có thể chuyển đổi và kết nối với cơ sở dữ liệu bằng cách chạy như sau:

Mã nguồn [Chọn]
$ sudo -i -u vietnetwork
Mã nguồn [Chọn]
$ psql
Hoặc bạn có thể chạy lệnh này.

Mã nguồn [Chọn]
$ sudo -u vietnetwork psql
Lệnh này sẽ tự động đăng nhập cho bạn, giả sử rằng tất cả các thành phần đã được cấu hình đúng cách.
Nếu bạn muốn người dùng của mình kết nối với một cơ sở dữ liệu khác, bạn có thể làm như vậy bằng cách chỉ định cơ sở dữ liệu như sau.

Mã nguồn [Chọn]
$ psql -d postgres
Sau khi đăng nhập, bạn có thể kiểm tra thông tin kết nối hiện tại của mình bằng cách chạy lệnh.

Mã nguồn [Chọn]
\conninfo
Mã nguồn [Chọn]
You are connected to database "vietnetwork" as user "vietnetwork" via socket in "/var/run/postgresql" at port "5432".

Bây giờ bạn đã được thiết lập với PostgreSQL trên máy chủ Ubuntu 20.04 của mình. Nếu bạn muốn tìm hiểu thêm về Postgres và cách sử dụng nó, mình khuyến khích bạn xem thêm các hướng dẫn sau.

  • So sánh các hệ quản trị cơ sở dữ liệu quan hệ.
  • Thực hành chạy truy vấn với SQL.