Postgresql

PgAdmin 4 - 如何通過 ssh 隧道使用 unix 套接字連接到數據庫?

  • November 2, 2020

儘管聽起來可能與這個問題有關,但事實並非如此,因為我很喜歡使用 unix 套接字而不是 TCP/IP 套接字。

但是,我無法使用 unix 套接字和帶有 pgAdmin4 的 ssh 隧道連接到遠端 PostgreSQL 數據庫。pgAdmin 總是聲稱伺服器拒絕連接並要求輸入密碼,這讓我感到奇怪。當 ssh 進入伺服器並使用 psql 時,可以使用 unix 套接字 (/var/run/postgresql) 完美地建立連接。是否需要設置任何特殊內容才能允許這樣的設置,或者這甚至可能是 pgAdmin 本身的錯誤?我很感激任何解決這個問題的想法,而不必求助於遠端端的 TCP/IP 連接。

我還發布了我目前配置中的一些螢幕:

連接選項卡

ssh 隧道選項卡

ssh使用正確的命令應該可以正常工作。

從本地 Unix 套接字轉發到遠端套接字執行

ssh -L /tmp/.s.PGSQL.5555:/var/run/postgresql/.s.PGSQL.5432 -N laurenz@dbserver

然後您將使用主機/tmp和埠 5555 進行連接。

要將本地 TCP 套接字轉發到遠端 Unix 套接字,請執行:

ssh -L 5555:/var/run/postgresql/.s.PGSQL.5432 -N laurenz@dbserver

然後您將使用主機127.0.0.1和埠 5555 進行連接。

引用自:https://dba.stackexchange.com/questions/279060