Cài đặt PostgreSQL 13 Debian 11 - Install PostgreSQL 13 Debian 11

PostgreSQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở, mạnh mẽ, đáng tin cậy và khả năng chịu lỗi tốt, cung cấp năng lượng cho nhiều ứng dụng quan trọng. Cơ sở dữ liệu PostgreSQL dựa trên POSTGRES 4.2. Tính đến hiện tại thì phiên bản PostgreSQL 13 là phiên bản mới và ổn định. Tất cả các tính năng mới, cải tiến và bản vá lỗi của PostgreSQL 13 được báo cáo trong trang chính thức của phiên bản. Trong bài viết này, chúng ta sẽ thực hiện install PostgreSQL 13 Debian 11.

Một số tính năng nổi bật của PostgreSQL 13

Dưới đây là một số tính năng mới đáng chú ý:

  • Cải tiến từ việc loại bỏ trùng lặp các mục trong chỉ mục B-tree - Tiết kiệm không gian và tăng hiệu suất
  • Các truy vấn sử dụng bảng tổng hợp hoặc phân vùng có hiệu suất tốt hơn.
  • Sắp xếp tăng dần
  • Lập kế hoạch truy vấn tốt hơn khi sử dụng thống kê mở rộng
  • Tạo chỉ mục đa luồng

Install PostgreSQL 13 Debian 11

Nếu bạn tuân theo các bước tiếp theo được mô tả trong bài viết này, bạn có được PostgreSQL 13 hoàn chỉnh và hoạt động trên Debian 11.

Để tiếp tục, bạn nên cập nhật hệ thống và tất cả các gói phần mềm đã cài đặt trước đó.

sudo apt update && sudo apt -y upgrade

Khởi động lại máy chủ sau đó.

sudo reboot

Bước 1: Thêm kho lưu trữ PostgreSQL 13

Trước khi cấu hình kho lưu trữ APT, nhập khóa GPG được sử dụng để ký gói:

sudo apt update && sudo apt -y install gnupg2
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg

Sau khi nhập khóa GPG, thêm kho lưu trữ PostgreSQL vào hệ thống Debian của bạn.

echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list

Sử dụng lệnh "cat" để xem nội dung của tệp đã tạo:

$ cat /etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main

Bước 2: Install PostgreSQL 13 Debian 11

Bây giờ khi kho lưu trữ đã được thêm thành công, cập nhật danh sách gói và cài đặt PostgreSQL 13 trên Debian 11. Máy chủ có thể đang chạy trên môi trường đám mây, phần cứng trong trung tâm dữ liệu hoặc bất kỳ môi trường ảo hóa hợp lệ nào khác.

sudo apt update

Cuối cùng, khởi tạo quá trình cài đặt PostgreSQL 13 trên Debian 11:

sudo apt -y install postgresql-13 postgresql-client-13

Khởi động máy chủ cơ sở dữ liệu bằng lệnh sau:

sudo pg_ctlcluster 13 main start

Xác nhận trạng thái dịch vụ và tệp cấu hình đang được sử dụng.

$ sudo pg_ctlcluster 13 main status
pg_ctl: server is running (PID: 4209)
/usr/lib/postgresql/13/bin/postgres "-D" "/var/lib/postgresql/13/main" "-c" "config_file=/etc/postgresql/13/main/postgresql.conf"

Bạn cũng có thể sử dụng lệnh systemctl để kiểm tra trạng thái của dịch vụ.

$ systemctl status postgresql@13-main.service
● postgresql@13-main.service - PostgreSQL Cluster 13-main
Loaded: loaded (/lib/systemd/system/postgresql@.service; enabled-runtime; vendor preset: enabled)
Active: active (running) since Fri 2023-05-26 17:49:01 UTC; 8s ago
Process: 15304 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 13-main start (code=exited, status=0/SUCCESS)
Main PID: 15309 (postgres)
Tasks: 7 (limit: 4553)
Memory: 17.0M
CPU: 235ms
CGroup: /system.slice/system-postgresql.slice/postgresql@13-main.service
├─15309 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf
├─15311 postgres: 13/main: checkpointer
├─15312 postgres: 13/main: background writer
├─15313 postgres: 13/main: walwriter
├─15314 postgres: 13/main: autovacuum launcher
├─15315 postgres: 13/main: stats collector
└─15316 postgres: 13/main: logical replication launcher

May 26 17:48:58 debian11 systemd[1]: Starting PostgreSQL Cluster 13-main...
May 26 17:49:01 debian11 systemd[1]: Started PostgreSQL Cluster 13-main.

Bước 3: Truy cập vào dòng lệnh PostgreSQL

Mở dòng lệnh PostgreSQL bằng cách sử dụng lệnh:

$ sudo su - postgres
postgres@debian:~$ psql
psql (13.11 (Debian 13.11-1.pgdg110+1))
Type "help" for help.

postgres=#

Thực hiện các thao tác kiểm tra:

postgres=# exit
postgres@debian:~$ createuser c4geeks
postgres@debian:~$ createdb testdb -O c4geeks

postgres@debian:~$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
testdb | c4geeks | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)

Kết nối vào cơ sở dữ liệu:

postgres@debian:~$ psql testdb
psql (13.11 (Debian 13.11-1.pgdg110+1))
Type "help" for help.

testdb=#

Đặt mật khẩu cho người dùng:

testdb=# alter user c4geeks with password 'StrongDBPassw0rd';
ALTER ROLE

Xóa cơ sở dữ liệu:

testdb=# \q
postgres@debian:~$ dropdb testdb
postgres@debian:~$ exit
logout

Hy vọng bạn sẽ có một trải nghiệm thú vị khi phát triển với máy chủ cơ sở dữ liệu PostgreSQL 13 trên hệ điều hành Debian 11 Linux.