Postgresql

無法恢復 postgres 轉儲文件

  • March 26, 2019

當我嘗試使用以下命令從轉儲文件中恢復數據庫時:

\i C:/pathname/dumpfile.txt

在我的 sql shell 中,它執行轉儲文件的前幾行,然後出現以下錯誤:

錯誤:創建“pg_catalog.databasename”的權限被拒絕

詳細資訊:目前不允許修改系統目錄。

這顯示了轉儲文件的開頭。我認為該CREATE TABLE命令會觸發錯誤。

在此處輸入圖像描述

我正在使用 postgreSQL 11.1 版。任何想法如何解決這個問題?

好的,我解決了:在以下行中:

SET search_path = car, pg_catalog;

顯然, car 是模式的名稱。由於該模式不存在,它試圖在 pg_catalog 模式中創建一個表。我手動創建了一個名為 car 的模式,並且,tada.. 感謝大家的支持。

首先檢查您是否需要設置 search_path (請參閱問題的其他答案)。

SET search_path = car, pg_catalog;

然後檢查架構是否存在。如果沒有,則將其添加到您的 SQL 轉儲文件中:

CREATE SCHEMA car;
ALTER SCHEMA car OWNER TO car;

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