Postgresql
我如何通過 SSH 上的 Unix Doman Socket 連接到遠端 Potgresql 伺服器
我有兩台機器,我的工作站在 Arch Linux 上執行,我的雲伺服器在 Ubuntu 上執行。
我已經在我的伺服器上安裝了 Postgresql,並且可以通過伺服器本身上的 Unix Domain Socket 訪問它,現在我想通過 ssh 隧道從我的工作站連接到 postgresql 伺服器。我使用 openssh 套接字隧道嘗試連接:
ssh -L/tmp/postgresql:/var/run/postgresql production@<ip>
為了連接到伺服器,我在
psql
psql -h /tmp/postgresql
但我收到以下錯誤。
psql: error: could not connect to server: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/postgreql/.s.PGSQL.5432"?
我做錯了什麼嗎?
謝謝
psql -h
獲取目錄名稱,在該目錄名稱中創建 unix 域套接字,其名稱基於某種硬編碼方案,即.s.PGSQL.5432
在通過 TCP 進行通信時預設基於預設埠 5432。ssh -L
取而代之的是,本地和遠端端都不是目錄,而是套接字的確切文件名,即不僅僅是/tmp/postgresql
但是/tmp/postgreql/.s.PGSQL.5432
.