Postgresql
在 PSQL 9.4 中更改 data_directory 位置後的表空間符號連結錯誤
**問題:**在 PSQL 9.4 (Windows Server 2012 R2) 中更改“data_directory”位置後,在以下情況下會向使用者拋出錯誤:*(a)嘗試使用 PgAdmin 連接到 PSQL 伺服器或(b)*嘗試
\db
使用SQL 外殼。在這兩種情況下,錯誤如下:錯誤:無法讀取符號連結“pg_tblspc/53605151”:無效參數。
儘管即使在重新啟動 PSQL 伺服器後錯誤消息仍然存在,但它似乎不會影響使用者使用數據庫進行 ETL 的能力。
背景:我按照以下連結https://stackoverflow.com/questions/22596301/how-to-change-postgresql-data-directory中建議的說明更改“data_directory”。
**採取的措施:**我嘗試使用我的系統管理員帳戶使用以下命令刪除符號連結。:
rmdir ...\pg_tblspc\53605151
刪除符號連結後,拋出的錯誤將略微更改為以下內容:
錯誤:無法讀取符號連結“pg_tblspc/53605151”:沒有這樣的文件或目錄
關於如何解決此問題的任何見解都將受到歡迎。
Postgres 表空間是目錄中的符號連結
pg_tblspc
。該連結必須指向表空間文件的有效位置。請再次創建連結,指向正確的位置。
您可以使用以下命令或執行以下查詢來查看
psql
客戶端上的表空間位置:\db
SELECT spcname AS "Name", pg_catalog.pg_get_userbyid(spcowner) AS "Owner", pg_catalog.pg_tablespace_location(oid) AS "Location" FROM pg_catalog.pg_tablespace ORDER BY 1;
有關更多詳細資訊,請參閱文件。