2017-04-26 12 views
1

別のサーバー上に作成された.SQLダンプファイルからPostgresデータベースのスキーマを復元しようとしたとき、私は次のエラーが表示されます

REVOKE PSQL:backup.sql:158885:ERROR:役割「server_nameは」存在しません。ロールや権限のない.sqlダンプファイルからpostgresスキーマを復元しますか?

は、ダンプ・ファイルはpg_dump -U username "server_name" -n schema_name > schema_name.sql

どのように役割および/または許可なしでダンプファイルを作成することができますを使用して作成されましたか?

--no-ownerのオプション追加することで

答えて

1

から
「を元のデータベースに一致するようにオブジェクトの所有権を設定するためのコマンドを出力しませんデフォルトでは、pg_restoreの問題が作成したスキーマ要素の所有権を設定するOWNER文またはSET SESSION AUTHORIZATION文をALTER。これらのステートメントは、スーパーユーザー(またはスクリプト内のすべてのオブジェクトを所有する同じユーザー)がデータベースに最初に接続しない限り、失敗します。-Oを指定すると、初期接続にユーザー名を使用でき、このユーザー作成されたすべてのオブジェクトを所有します。

--no-acl
"アクセス権限(grant/revokeコマンド)の 防止復元。"

pg_dump --no-owner --no-acl -U username "server_name" -n schema > schema.sql 

https://www.postgresql.org/docs/9.2/static/app-pgrestore.html

関連する問題