Cài đặt Postgresql 14 trên Fedora 36 - Install Postgresql 14 on Fedora 36

Nếu bạn đang tìm kiếm một giải pháp mạnh mẽ cho hệ quản trị cơ sở dữ liệu và đồng thời muốn tận dụng sức mạnh của hệ điều hành Fedora 36, thì việc install PostgreSQL 14 là một lựa chọn xuất sắc. PostgreSQL không chỉ được biết đến là một hệ quản trị cơ sở dữ liệu mã nguồn mở mạnh mẽ, mà còn có khả năng hoạt động mượt mà trên nền tảng Fedora. Trong bài viết này, mình sẽ dẫn bạn qua quá trình install PostgreSQL 14 trên Fedora 36 một cách chi tiết và dễ hiểu. 

[1]    Install and khởi tạo PostgreSQL 14 trên Fedora 36

[root@www ~]# dnf module -y install postgresql:14/server
[root@www ~]# postgresql-setup --initdb
 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
 
[root@www ~]# systemctl enable --now postgresql

[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 peer

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 /var/lib/pgsql/data/postgresql.conf
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# authentication methods by default
[root@www ~]# grep -v -E "^#|^$" /var/lib/pgsql/data/pg_hba.conf
local   all             all                                     peer
host    all             all             127.0.0.1/32            ident
host    all             all             ::1/128                 ident
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            ident
host    replication     all             ::1/128                 ident

[3]    Khi xác thực peer, cần 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 ~]# useradd fedora
# add an PostgreSQL user and his Database with PostgreSQL admin user
[root@www ~]# su - postgres
[postgres@www ~]$ createuser fedora
[postgres@www ~]$ createdb testdb -O fedora
# show users and databases
[postgres@www ~]$ psql -c "select usename from pg_user;"
 usename
----------
 postgres
 fedora
(2 rows)

[postgres@www ~]$ 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    | fedora   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)

[4]    Kết nối cơ sở dữ liệu PostgreSQL với người dùng

# connect to testdb
[fedora@www ~]$ psql testdb
psql (14.2)
Type "help" for help.

# show user roles
testdb=> \du
                                   List of roles
 Role name |                         Attributes                         | Member
 of
-----------+------------------------------------------------------------+-------
----
 fedora    |                                                            | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

# show databases
testdb=> \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    | fedora   | UTF8     | en_US.UTF-8 | en_US.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 | fedora
(1 row)

# insert data to test table
testdb=> insert into test_table (no,name) values (01,'Fedora'); 
INSERT 0 1

# confirm
testdb=> select * from test_table; 
 no |  name
----+--------
  1 | Fedora
(1 row)

# remove test table
testdb=> drop table test_table; 
DROP TABLE

testdb=> \dt 
Did not find any relations.

# exit
testdb=> \q 

# remove testdb
[fedora@www ~]$ dropdb testdb
[fedora@www ~]$ 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
(3 rows)

Kết thúc cuộc hành trình install PostgreSQL 14 trên Fedora 36, chúng ta đã cùng nhau tạo nên một hệ quản trị cơ sở dữ liệu mạnh mẽ và linh hoạt. PostgreSQL không chỉ là một công cụ mạnh mẽ để lưu trữ và quản lý dữ liệu, mà còn là một sự lựa chọn thông minh cho việc phát triển các ứng dụng có hiệu suất cao trên nền tảng Fedora 36.

Mọi người cũng tìm kiếm: postgresql 14, fedora 36, postgresql14-server, postgres fedora, install postgresql fedora, fedora install postgresql