PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ và đối tượng dựa trên POSTGRES. PostgreSQL là một chương trình mã nguồn mở xây dựng trên mã nguồn ban đầu của đại học Berkeley.

Trong bài viết này Cloud365 sẽ hướng dẫn bạn cách cài đặ PostgreSQL trên Ubuntu 20.04.

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

Cài đặt gói postgrasql-contrib để có thêm một số tiện ích và tính năng bổ sung

apt update
apt install -y postgresql postgresql-contrib

Bước 2: Sử dụng PostgreSQL Roles và Databases

Mặc định PostgreSQL sử dụng một khái niệm có tên là “Roles” để xác thực. Về mặt nào đó chúng tương tự như user thông thường.

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

Khi cài đặt PostgreSQL đã tạo ra một user có tên postgres được liên kết với Postgres Role mặc định. Có một vài cách để sử dụng tài khoản này để truy cập Postgres. Cách đơn giản nhất là switch sang tài khoản postgres

sudo -i -u postgres

Để truy cập Postgres dùng lệnh sau

psql

Từ đây bạn có thể tương tác với hệ quản trị cơ sở dữ liệu

postgres@ubuntu20:~$ psql
psql (12.2 (Ubuntu 12.2-4))
Type "help" for help.

postgres=# 

Để thoát ra khỏi dấu nhắc postgres

postgres=# \q

Bạn có thể truy cập trực tiếp vào Postgres mà ko cần bước switch sang user postgres

sudo -u postgres psql

Sau khi tương tác với Postgres xong bạn cũng dùng \q để thoát

postgres-# \q

Bước 3: Tạo Role mới

Nếu bạn đã đăng nhập được với user postgres bạn có thể tạo một role mới bằng cách sau

sudo -u postgres createuser --interactive

Bạn khai báo thông tin của role

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

Bước 4: Tạo Databases mới

Theo mặc định đối bất kỳ role nào được sử dụng để đăng nhập, role sẽ có một databases cùng tên mà nó có thể truy cập.

Như vậy như bạn tạo một role ở trên có tên là cloud365 thì role sẽ cố gắng kết nối đến một cơ sở dữ liệu mặc định có tên là cloud365. Bạn có thể tạo một database bằng lệnh createdb

sudo -u postgres createdb cloud365

Bước 5: Sử dụng Postgres với Role mới

Để có thể xác thực bạn cần một user Linux có cùng tên với Role và Database Postgres của bạn.

Nếu chưa có user này bạn có thể taọ bằng cách sử dụng lệnh addusser. Lệnh này phải thực hiện bằng user root hoặc user sudo (nghĩa là bạn ko tạo được bằng user postgres)

adduser cloud365

Khi tài khoản được tạo bản có thể kết nối để tương tác với cơ sở dữ liệu bằng cách sau:

sudo -i -u cloud365
psql

Hoặc

sudo -u cloud365 psql

Nếu bạn luốn kết nối đến một cơ sở dữ liệu khác, bạn có thể dùng -d và chỉ ra cơ sở dữ liệu muốn kết nối

psql -d postgres

Sau khi đăng nhập bạn có thể chỉ ra thông tin của kết nối hiện tại bằng cách

cloud365=# \conninfo

Thông tin kết nối như sau

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

Đến đây bạn đã cài đặt và thiết lập được PostgreSQL trên Ubuntu 20.04. Hy vọng bài viết này hữu ích với bạn.