Cài đặt PostgreSQL 14 trên Fedora 37 - Install PostgreSQL 14 on Fedora 37
Bài viết này sẽ hướng dẫn install PostgreSQL 14 trên Fedora 37 - tạo ra một hệ thống quản lý cơ sở dữ liệu mạnh mẽ trên nền tảng hệ điều hành tân tiến. PostgreSQL đã chứng tỏ mình là một trong những hệ quản trị cơ sở dữ liệu mã nguồn mở hàng đầu, mang lại khả năng linh hoạt và hiệu suất vượt trội cho các dự án công nghệ.
[1] Install and khởi động PostgreSQL 14 trên Fedora 37
[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, 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 để biết chi tiết về 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] Người dùng OS và người dùng PostgreSQL có tên trù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.3)
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)
Việc install PostgreSQL 14 trên Fedora 37 đã mang lại cho chúng ta một cơ hội thú vị để khám phá và tìm hiểu về một hệ quản trị cơ sở dữ liệu mạnh mẽ. Với sự hướng dẫn cụ thể và chi tiết trong quá trình cài đặt, mong rằng bạn đã tạo ra môi trường hoàn hảo để khai thác tiềm năng của PostgreSQL 14.
Mọi người cũng tìm kiếm: fedora 14