Cài đặt PostgreSQL 15 trên Debian 12 - Install PostgreSQL 15 on Debian 12
Khi bắt đầu hành trình khám phá cơ sở dữ liệu, việc install PostgreSQL 15 trên Debian 12 là một bước quan trọng để tạo ra môi trường mạnh mẽ cho việc lưu trữ và quản lý dữ liệu. Với phiên bản PostgreSQL mới nhất, chúng ta sẽ khám phá những tính năng cải tiến và sự ổn định của nền tảng này. Trong hướng dẫn này, chúng ta sẽ dẫn bạn qua từng bước cụ thể để thành công install PostgreSQL 15 trên Debian 12, giúp bạn sẵn sàng để khai thác tiềm năng của cơ sở dữ liệu này cho các dự án tương lai.
[1] Install PostgreSQL 15 trên Debian 12
root@www:~# apt -y install postgresql-15
[2] Theo cài đặt mặc định, bạn chỉ có thể kết nối tới máy chủ PostgreSQL từ Localhost với phương thức xác thực peer
Hãy tham khảo trang chính thức dưới đây để tìm hiểu thêm về các phương thức xác thực chi tiết. Trang chính thức:
⇒ https://www.postgresql.jp/document/10/html/auth-pg-hba-conf.html
# listen only localhost by default
root@www:~# grep listen_addresses /etc/postgresql/15/main/postgresql.conf
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# authentication methods by default
root@www:~# grep -v -E "^#|^$" /etc/postgresql/15/main/pg_hba.conf
local all postgres peer
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
[3] Với xác thực peer, sử dụng người dùng hệ thống và người dùng PostgreSQL có cùng tên để kết nối tới máy chủ PostgreSQL
# add an OS user
root@www:~# adduser debian
# add an PostgreSQL user and his Database with PostgreSQL admin user
root@www:~# su - postgres
postgres@www:~$ createuser debian
postgres@www:~$ createdb testdb -O debian
# show users and databases
postgres@www:~$ psql -c "select usename from pg_user;"
usename
----------
postgres
debian
(2 rows)
postgres@www:~$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
testdb | debian | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc |
(4 rows)
[4] Kết nối vào cơ sở dữ liệu PostgreSQL với người dùng đã được thêm ở trên
# connect to testdb
debian@www:~$ psql testdb
psql (15.3 (Debian 15.3-0+deb12u1))
Type "help" for help.
# show user roles
testdb=> \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
debian | | {}
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
# show databases
testdb=> \l
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
debian | | {}
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
testdb=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
testdb | debian | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc |
(4 rows)
# create a test table
testdb=> create table test_table (no int, name text);
CREATE TABLE
# show tables
testdb=> \dt
List of relations
Schema | Name | Type | Owner
--------+------------+-------+--------
public | test_table | table | debian
(1 row)
# insert data to test table
testdb=> insert into test_table (no,name) values (01,'debian');
INSERT 0 1
# confirm
testdb=> select * from test_table;
no | name
----+--------
1 | debian
(1 row)
# remove test table
testdb=> drop table test_table;
DROP TABLE
testdb=> \dt
Did not find any relations.
# exit
testdb=> \q
# remove testdb
debian@www:~$ dropdb testdb
debian@www:~$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
(3 rows)
Tổng kết lại, qua bài viết này chúng ta đã tìm hiểu cách install PostgreSQL 15 trên hệ điều hành Debian 12. Quá trình cài đặt và cấu hình PostgreSQL đã được hướng dẫn chi tiết, từ việc tạo người dùng đến thiết lập quyền truy cập vào cơ sở dữ liệu. Chúng ta cũng đã tìm hiểu về cách kết nối vào PostgreSQL và thực hiện các tác vụ cơ bản. Việc sử dụng một hệ quản trị cơ sở dữ liệu như PostgreSQL đóng một vai trò quan trọng trong việc quản lý dữ liệu của các ứng dụng và dự án. Hy vọng rằng thông tin trong bài viết sẽ giúp bạn thành công trong việc install PostgreSQL 15 trên Debian 12 và khám phá thêm về các khả năng mạnh mẽ mà nó mang lại.
Mọi người cũng tìm kiếm: install postgresql debian 12, postgresql 15, postgresql ya, install postgresql 15 debian, install postgresql 15, debian install postgresql 15, cài postgresql