Cài đặt Postgresql 14 trên Ubuntu 22.04 - Install Postgresql 14 Ubuntu 22.04
Trong thế giới phát triển ứng dụng và quản lý cơ sở dữ liệu ngày nay, Postgresql đã khẳng định vị thế của mình là một hệ quản trị cơ sở dữ liệu mã nguồn mở đáng tin cậy và mạnh mẽ. PostgreSQL 14 với những cải tiến và tính năng hấp dẫn hứa hẹn mang đến cho người dùng những trải nghiệm tuyệt vời. Trong bài viết này, chúng ta sẽ hướng dẫn cách install PostgreSQL 14 trên hệ điều hành Ubuntu 22.04.
[1] Install và khởi động PostgreSQL 14 trên Ubuntu 22.04
root@www:~# apt -y install postgresql-14
[2] Theo cài đặt mặc định, chỉ có thể kết nối với máy chủ PostgreSQL từ Localhost bằng xác thực ngang hàng
Tham khảo trang web chính thức bên dưới để biết chi tiết về các phương thức xác 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/14/main/postgresql.conf
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# authentication methods by default
root@www:~# grep -v -E "^#|^$" /etc/postgresql/14/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] Người dùng OS và người dùng PostgreSQL có tên giống nhau để kết nối với máy chủ PostgreSQL
# add an OS user
root@www:~# adduser ubuntu
# add an PostgreSQL user and his Database with PostgreSQL admin user
root@www:~# su - postgres
postgres@www:~$ createuser ubuntu
postgres@www:~$ createdb testdb -O ubuntu
# show users and databases
postgres@www:~$ psql -c "select usename from pg_user;"
usename
----------
postgres
ubuntu
(2 rows)
postgres@www:~$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+---------+-----------------------
postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 |
template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
testdb | ubuntu | UTF8 | C.UTF-8 | C.UTF-8 |
(4 rows)
[4] Kết nối với cơ sở dữ liệu PostgreSQL với người dùng được thêm ở trên
# connect to testdb
ubuntu@www:~$ psql testdb
psql (14.2 (Ubuntu 14.2-1ubuntu1))
Type "help" for help.
# show user roles
testdb=> \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
ubuntu | | {}
# show databases
testdb=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+---------+-----------------------
postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 |
template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
testdb | ubuntu | UTF8 | C.UTF-8 | C.UTF-8 |
(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 | ubuntu
(1 row)
# insert data to test table
testdb=> insert into test_table (no,name) values (01,'Ubuntu');
INSERT 0 1
# confirm
testdb=> select * from test_table;
no | name
----+--------
1 | Ubuntu
(1 row)
# remove test table
testdb=> drop table test_table;
DROP TABLE
testdb=> \dt
Did not find any relations.
# exit
testdb=> \q
# remove testdb
ubuntu@www:~$ dropdb testdb
ubuntu@www:~$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+---------+-----------------------
postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 |
template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +
| | | | | post
gres=CTc/postgres
template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
Qua bài viết này, chúng ta đã cùng nhau tìm hiểu quá trình install PostgreSQL 14 trên hệ điều hành Ubuntu 22.04 và khám phá những tính năng hấp dẫn mà nó mang lại. Postgresql 14 đã chứng minh là một giải pháp đáng tin cậy và mạnh mẽ cho việc quản lý cơ sở dữ liệu, đáp ứng mọi yêu cầu và nhu cầu của dự án và ứng dụng.