要配置Debian PostgreSQL以允許遠程訪問,請按照以下步驟操作:
安裝PostgreSQL: 如果尚未安裝PostgreSQL,請運行以下命令來安裝它:
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
修改PostgreSQL配置文件:
編輯/etc/postgresql/<version>/main/pg_hba.conf
文件,其中<version>
是您安裝的PostgreSQL版本。例如,如果您安裝的是PostgreSQL 12,則文件路徑為/etc/postgresql/12/main/pg_hba.conf
。
sudo nano /etc/postgresql/<version>/main/pg_hba.conf
在文件中找到以下行:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
在這些行下面添加以下內容,以允許遠程訪問:
# Allow remote connections from any IP address
host all all 0.0.0.0/0 md5
如果您希望僅允許特定IP地址訪問,請將0.0.0.0/0
替換為特定的IP地址或IP地址范圍,例如192.168.1.0/24
。
修改PostgreSQL監聽地址:
編輯/etc/postgresql/<version>/main/postgresql.conf
文件,其中<version>
是您安裝的PostgreSQL版本。例如,如果您安裝的是PostgreSQL 12,則文件路徑為/etc/postgresql/12/main/postgresql.conf
。
sudo nano /etc/postgresql/<version>/main/postgresql.conf
在文件中找到以下行:
#listen_addresses = 'localhost'
取消注釋(刪除行首的#
)并更改其值以允許遠程連接。例如,要允許所有IP地址連接,請將其設置為:
listen_addresses = '*'
如果您希望僅允許特定IP地址連接,請將其設置為特定的IP地址或IP地址范圍,例如192.168.1.100
。
重啟PostgreSQL服務: 保存并關閉配置文件后,重啟PostgreSQL服務以使更改生效:
sudo systemctl restart postgresql
創建遠程用戶并授權:
使用具有管理員權限的用戶登錄到PostgreSQL,并創建一個新用戶(或使用現有用戶)以及為其分配數據庫訪問權限。例如,要創建一個名為remote_user
的新用戶并允許其訪問名為mydb
的數據庫,請運行以下命令:
sudo -u postgres psql
然后,在psql提示符下輸入以下命令:
CREATE USER remote_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE mydb TO remote_user;
EXIT;
現在,您應該能夠從遠程計算機使用新創建的用戶remote_user
連接到PostgreSQL數據庫。請確保在嘗試連接時使用正確的IP地址、端口(默認為5432)和數據庫名稱。