簡體   English   中英

使用 Linux 和 PGAdmin 設置可遠程訪問的 Postgres 數據庫

[英]Setting up a Remotely Accessible Postgres Database with Linux and PGAdmin

我正在嘗試建立一個可遠程訪問的 Postgres 數據庫 我想在一個基於Linux的設備 (HOST) 上托管這個數據庫,並在另一個基於 Linux 的設備 (CLIENT) 上訪問它。

在我的具體情況下,HOST 是運行 Ubuntu 的桌面設備。 CLIENT 是帶有 Linux 虛擬系統的 Chromebook。 (我知道。但它是我手頭最接近基於 Linux 的設備的東西。

已采取的設置數據庫的步驟

  1. 使用 APT 在 HOST 上安裝了所需的軟件。
PGP_KEY_URL="https://www.postgresql.org/media/keys/ACCC4CF8.asc"
POSTGRES_URL_STEM="http://apt.postgresql.org/pub/repos/apt/"
POSTGRES_URL="$POSTGRES_URL_STEM `lsb_release -cs`-pgdg main"
POSTGRES_VERSION="12"
PGADMIN_URL_SHORT="https://www.pgadmin.org/static/packages_pgadmin_org.pub"
PGADMIN_URL_STEM="https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt"
PGADMIN_TO_ECHO="deb $PGADMIN_URL_STEM/`lsb_release -cs` pgadmin4 main"
PGADMIN_PATH="/etc/apt/sources.list.d/pgadmin4.list"

sudo apt install curl --yes
sudo apt install gnupg2 --yes
wget --quiet -O - $PGP_KEY_URL | sudo apt-key add -

echo "deb $POSTGRES_URL" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt install postgresql-$POSTGRES_VERSION --yes
sudo apt install postgresql-client-$POSTGRES_VERSION --yes

sudo curl $PGADMIN_URL_SHORT | sudo apt-key add
sudo sh -c "echo \"$PGADMIN_TO_ECHO\" > $PGADMIN_PATH && apt update"
sudo apt update
sudo apt install pgadmin4 --yes
  1. 創建一個新的 Postgres 用戶。
NU_USERNAME="my_user"
NU_PASSWORD="guest"
NU_QUERY="CREATE USER $NU_USERNAME WITH superuser password '$NU_PASSWORD';"

sudo -u postgres psql -c "$NU_QUERY"
  1. 創建了新的服務器和數據庫。 我使用 PGAdmin GUI 手動完成了這項工作。
  2. 添加了測試數據,一個包含幾條記錄的表。 我用腳本做到了這一點。
  3. 按照此答案中給出的步驟使數據庫可以遠程訪問。

遠程連接數據庫的步驟

  1. 在客戶端上安裝了 PGAdmin。
  2. 嘗試使用 PGAdmin 進行連接。 我使用“新建服務器”向導,並輸入:

主機IP地址:192.168.1.255
端口:5432(和我在HOST上設置數據庫時一樣)
用戶:my_user
密碼:訪客

但是,當我嘗試保存連接時,PGAdmin 會在幾秒鍾后回復說連接已超時

您必須像這樣在/var/lib/pgsql/data/postgresql.conf中配置listen_addresses

listen_addresses = '*'

接下來通過檢查 telnet 是否可以連接到您的服務器來確保您的防火牆不會阻止連接:

$ telnet 192.168.1.255 5432
Connected to 192.168.1.255.
Escape character is '^]'.

如果您看到Connected的網絡連接正常。 接下來,您必須配置遠程主機的訪問權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM