PostgreSQL 9.1 PLPGSQLに関するpg_restoreのエラー
質問
私はdjangoプロジェクトでPostgresを使用しています。現在、できるだけシンプルに、ユーザがバックアップをクリックするとpg_dumpを実行し、バックアップの復元をクリックするとpg_restoreを実行するデータベースバックアップ/リストアシステムを導入しているところです。
実際に pg_restore を実行しようとするまでは、すべてがうまくいっているように見えますが、そのときにこのエラーが発生します。
pg_restore: [アーカイバ (db)] TOC エントリ 3206 からのエラー; 0 0 COMMENT EXTENSION plpgsql pg_restore: [アーカイバ (データベース)] はクエリを実行できませんでした。 ERROR: plpgsql 拡張の所有者でなければなりません コマンドは次のとおりです。COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
私はplpgsqlが何であるかなどを調べ、それを理解しました。そして、エラーに関して、私は手動で"拡張機能の所有者をスクリプトを実行し、データベース自体を所有するユーザに設定しようとしましたが、それは何も変えませんでした。
これはすべて pg_dump によって自動的に作成されるため、コメント行を削除することはできず、コメントを無効にするフラグもありません (私が知っている限り)。
どのように解決するのですか?
pg_restoreが所有しない余分なデータをリストアしようとしているようです。試しに
-n public
オプションをpg_restoreのコマンドラインに追加してみてください。これはpg_restoreにパブリックスキーマの内容のみをリストアするように指示します。コマンドラインは以下のようになるはずです。
pg_restore -U username -c -n public -d database_name
関連
-
Postgresql データベース timescaledb timescaledb 問題 大容量データテーブルをスーパーテーブルに変換すること
-
[解決済み] pg_restore の実行時に "[archiver] unsupported version (1.13) in file header" が表示される。
-
[解決済み] PostgreSQLの場合。PostgreSQLのテーブルを表示する
-
[解決済み] PostgreSQLの "DESCRIBE TABLE"
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] PostgreSQLのユーザーパスワードを変更する方法を教えてください。
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] Postgres の全テーブルの行数を求めるには?
-
[解決済み] Postgresデータベースの全テーブルを切り捨てる
-
[解決済み] PostgreSQL公式Dockerイメージの設定ファイルをカスタマイズする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Postgresqlへのリモートアクセスの設定方法(ファイアウォールの設定またはOFFが必要です。)
-
PostgreSQLで文字列が対象の文字列を含むかどうかを判断する様々な方法
-
PostgreSQLがバキュームテーブルの情報を収集する必要があることを発見する方法
-
Postgresqlのデータマージ、複数のデータを1つの操作にマージする。
-
Postgresqlのデータは、2つのフィールドを追加し、一意の操作を統合する
-
PostgreSQLで時間指定タスクを実装する4つの方法
-
[解決済み] psqlでデータベースを切り替えるには?
-
[解決済み] 'ユーザー "postgres" のパスワード認証に失敗しました'
-
[解決済み] PostgreSQLのクエリを記録する方法は?
-
[解決済み] Postgresデータベースのエンコーディングの取得