了解安裝的PostgreSQL的相關資訊
像我是使用CentOS,因此我可以用下面的指令來得知現在系統中PostgreSQL的運行狀況
sudo systemctl status postgresql-13
● postgresql-13.service - PostgreSQL 13 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; enabled; vend>
Active: active (running) since Sat 2024-06-08 22:48:41 UTC; 2 weeks 1 days a>
Docs: https://www.postgresql.org/docs/13/static/
Main PID: 3264201 (postmaster)
Tasks: 8 (limit: 23678)
Memory: 27.6M
CGroup: /system.slice/postgresql-13.service
├─3264201 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/
├─3264202 postgres: logger
├─3264204 postgres: checkpointer
├─3264205 postgres: background writer
├─3264206 postgres: walwriter
├─3264207 postgres: autovacuum launcher
├─3264208 postgres: stats collector
└─3264209 postgres: logical replication launcher
Warning: Journal has been rotated since unit was started. Log output is incompl>
從回覆的資料可以看出,設定檔的資料會在/var/lib/pgsql/13/data/
,接著就搜尋裡面的設定檔*.conf
[root@aia16 13]# find /var/lib/pgsql/13 -name *.conf
/var/lib/pgsql/13/data/postgresql.conf
/var/lib/pgsql/13/data/postgresql.auto.conf
/var/lib/pgsql/13/data/pg_hba.conf
/var/lib/pgsql/13/data/pg_ident.conf
允許非本機的連線
PostgreSQL 默認配置只允許本地連接(即 localhost
或 127.0.0.1
),這是出於安全考量。要允許遠程連接,需要修改 PostgreSQL 的配置文件並設置適當的防火牆規則。以下是允許遠程連接的步驟:
1. 修改 postgresql.conf
文件,打開 postgresql.conf
文件,找到 listen_addresses
配置項,將其設置為 ' * '
以允許所有地址連接,或者指定特定的 IP 地址。例如:
listen_addresses = '*'
修改 pg_hba.conf
文件,添加允許遠程連接的規則。
host all all 0.0.0.0/0 md5
如果你只想允許特定的 IP 地址範圍,例如 192.168.1.0/24
,可以這樣設置:
host all all 192.168.1.0/24 md5
接著重啟PostgreSQL
sudo systemctl restart postgresql