Postgresql

psql 給出 Invalid data directory 錯誤

  • April 5, 2022

我有安裝了ubuntu 18.04 伺服器的 VM 。我已經從 repo安裝了postgres 10 。

預設安裝。我在 postgres.conf 中進行了一些與連接計數相關的更改,並在 pg_hba.conf 中進行了與連接安全相關的更改。

安裝目錄都是預設的,包括數據目錄。

伺服器正在執行。我能夠創建數據庫並從 java 客戶端訪問它們。

但是當我從同一個 VM 啟動 psql 時,它會引發以下錯誤。

Error: Invalid data directory

只是沒有任何參數的 psql 也會給出這個錯誤。

人們在嘗試更改數據目錄時遇到了這個錯誤,而我的情況並非如此。數據目錄是預設目錄,它歸 postgres 使用者所有。

ubuntu@ubuntu:~$ ls -l /var/lib/postgresql/10/
total 4
drwx------ 20 postgres postgres 4096 Jun 12 02:54 main

知道可能是什麼原因,或者我應該在哪裡尋找 psql 客戶端的詳細錯誤?

錯誤:無效的數據目錄

pg_wrapper無法從配置中找出數據目錄時會發生這種情況。pg_wrapper是 postgres 之上的一層,它可以在基於 debian 的系統上的多個實時 PostgreSQL 實例之間進行切換。由postgresql-client軟體包安裝,是此類系統上psql的連結:pg_wrapper

/usr/bin/psql -> ../share/postgresql-common/pg_wrapper

由於您提到稍微修改postgresql.conf,請確保您沒有更改裡面的權限/etc/postgresql/,包括postgresql.conf. 這看起來是最有可能立即導致上述錯誤的變化。下一個是您的更改在語法上是錯誤的,以一種pg_wrapper不再能夠解析文件的方式。

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