本文介紹如何解決AnalyticDB for PostgreSQL無法串連的問題。
問題現象
在使用用戶端串連AnalyticDB for PostgreSQL執行個體時,彈窗報錯。如下圖所示:
問題原因
報錯的IPAnalyticDB for PostgreSQL執行個體無法互相訪問。可能原因如下:
報錯的IP是使用者區域網路的IP。
未設定AnalyticDB for PostgreSQL執行個體的IP白名單。
解決方式
如何查看本地用戶端IP並設定AnalyticDB for PostgreSQL執行個體白名單?
由於網路環境複雜多樣,使用者可能無法正確地找到本地用戶端的IP地址來設定執行個體白名單。本文介紹如何查看本地用戶端的IP。
操作步驟
將
0.0.0.0/0
添加到AnalyticDB for PostgreSQL執行個體的白名單,具體操作如下:在控制台左上方,選擇執行個體所在地區。
找到目標執行個體,單擊執行個體ID。
在左側導覽列中,單擊資料安全性。
在白名單設定頁簽中,單擊default白名單分組後的修改,進入修改白名單分組面板。
刪除組內白名單中的預設白名單127.0.0.1,寫入白名單地址
0.0.0.0/0
。說明0.0.0.0/0
允許任何IP訪問資料庫,將會引入較高的安全風險,請儘快刪除。單擊確定,完成白名單設定。
使用用戶端串連到AnalyticDB for PostgreSQL執行個體,請參見用戶端串連下載安裝psql用戶端,使用如下串連語句串連資料庫:
psql -h yourgpdbaddress.gpdb.rds.aliyuncs.com -p 3432 -d postgres -U gpdbaccount
其中,各個參數的定義如下:
-h:指定主機地址。
-p:指定連接埠號碼。
-d:指定資料庫(預設的資料庫是 postgres),
-U:指定串連的使用者。
可以通過
psql --help
查看更多選項。在 psql 中,可以執行\?
查看更多 psql 中支援的命令。
進入資料庫後,在資料庫的SQL命令列視窗中運行如下命令,查詢用戶端的IP地址。
select * from pg_stat_activity;
查詢結果的CLIENT_ADDR欄位即為用戶端的IP地址。
在AnalyticDB for PostgreSQL控制台中,將白名單
0.0.0.0/0
刪除,輸入上個步驟查詢到的IP地址,即可正常訪問資料庫。