Giới thiệu

PostgreSQL là một hệ thống cơ sở dữ liệu quan hệ đối tượng mã nguồn mở mạnh mẽ, sử dụng và mở rộng ngôn ngữ SQL kết hợp với nhiều tính năng giúp lưu trữ và chia tỷ lệ một cách an toàn các khối lượng công việc dữ liệu phức tạp nhất.

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. 

Điều kiện tiên quyết

Để làm theo hướng dẫn này, bạn sẽ cần một máy chủ Ubuntu 20.04. Máy chủ của bạn phải có người dùng không phải root có quyền sudo và tường lửa cơ bản.

Bước 1 – Cài đặt PostgreSQL

Để cài đặt PostgreSQL, trước tiên hãy làm mới index của local package của máy chủ của bạn:

sudo apt update

Sau đó, cài đặt gói Postgres cùng với một gói -contrib bổ sung một số tiện ích và chức năng bổ sung:

sudo apt install postgresql postgresql-contrib

Bước 2 – Sử dụng Database và PostgreSQL Role

Theo mặc định, Postgres sử dụng một khái niệm gọi là “role” để 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 ident xác thực, có nghĩa là nó liên kết role Postgres với một tài khoản phù hợp với hệ thống Unix / Linux. Nếu một role 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 role đó.

Quy 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 role Postgres 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 nhập:

sudo -i -u postgres

Sau đó, bạn có thể truy cập lời nhắc Postgres bằng cách nhập:

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:

\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:

exit

Một cách khác để kết nối với lời nhắc Postgres là chạy lệnh psql với tài khoản postgres trực tiếp với sudo:

sudo -u postgres psql

Thao tác này sẽ giúp bạn đăng nhập trực tiếp vào Postgres mà không có trình shell bash trung gian ở giữa.

Một lần nữa, bạn có thể thoát phiên Postgres tương tác bằng cách nhập:

\q

Bước 3 – Tạo một role mới

Nếu bạn đã đăng nhập bằng tài khoản postgres , bạn có thể tạo một role mới bằng cách nhập:

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 nhập:

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 hiện 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.

OutputEnter name of role to add: sammy
Shall the new role be a superuser? (y/n) y

Bước 4 – Tạo cơ sở dữ liệu mới

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à sammy , thì role đó sẽ cố gắng kết nối với cơ sở dữ liệu cũng được gọi là “sammy” 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ư:

createdb sammy

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ẽ nhập:

sudo -u postgres createdb sammy

Bước 5 – Mở dòng lệnh của Postgres với role mới

Để đăng nhập với ident xác thực dựa trên role mới, 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à role 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 quyền sudo (nghĩa là không đăng nhập với tư cách người dùng postgres ):

sudo adduser sammy

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 nhập:

sudo -i -u sammy
psql

Hoặc, bạn có thể làm điều này bằng một câu lệnh:

sudo -u sammy 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 định 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:

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 nhập:

\conninfo

Output:

You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

Phần kết luận

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. Hãy theo dõi trang để nhận thêm những bài viết mới bổ ích nhé.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments