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 Onet 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
và -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: Onet 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à Onet
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à Onet
. Bạn có thể tạo một database bằng lệnh createdb
sudo -u postgres createdb Onet
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 Onet
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 Onet psql
Hoặc
sudo -u Onet 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
Onet=# conninfo
Thông tin kết nối như sau
You are connected to database "Onet" as user "Onet" 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.