問題タブ [pg-restore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - --exclude-table-data を使用して pg_dump からテーブルに外部キー制約を適用する
私は現在、この顧客のデータベースの 1 つをダンプして、この顧客の基本構造から新しいデータベースを作成できるようにする作業を行っていますが、個人データを持ち込むことはありません。
これまでのところ、およびコマンドとpg_dump
組み合わせて成功しており、これにより、このタスクに必要なデータのみを効率的に取得することができました。--exclude_table
exclude-table-data
ただし、残したデータの一部を参照する行と、持ってくる必要のあるデータを参照する他の行が混在しているテーブルがいくつかあります。これにより、復元操作中にいくつかの問題が発生しています。具体的には、ダンプFOREIGN KEY
がこれらのテーブルの特定の列に制約を適用しようとすると、それぞれの外部テーブルに一致するデータがないキーを持つ行がいくつかあるため失敗します-このテーブルのデータを持ち込まないことを選択したためです!
ダンプが完了した後にデータベースにログインし、存在しなくなったデータを参照する行を削除し、自分で制約を作成できることはわかっていますが、プロセスを可能な限り自動化したいと考えています。テーブル B のデータがバックアップから除外されている場合にテーブル B を参照する場合、テーブル A から行を取得しないように指示する方法pg_dump
または(または他のプログラム) はありますか? pg_restore
または、テーブルのデータをインポートする前に、その特定の外部キーをアクティブにしたいことを Postgres に伝えるには?
参考までに、私は HREL 7 サーバーで PostgreSQL 9.2 を使用しています。
sql - pg_restore クリーン テーブル psql
ダンプしたテーブルを現在の場所に復元しようとしています。テーブルは次を使用してダンプされました。
復元しようとして、私は使用しています:
テーブルが現在存在し、データがあるため、-c を使用していますが、次のように返されます。
私も試しました:
しかし、データは既に存在--clean
し、この psql コマンドにはオプションがないため (私は信じています)、以下を返します。
pg_restore を正しく使用する方法、または --clean オプションを指定して psql を使用する方法はありますか?
postgresql - pg_dump でタイムゾーンを転送する
次のように作成された PostgreSQL のタイム ゾーンがあります。
復元されたデータベースでも、事前に設定されたタイム ゾーンを使用したいと考えています。経由pg_dump
でバックアップして復元するとpg_restore
、pg_settings/TimeZone
ローカルタイムに戻されます。
タイムゾーンを転送するにはどうすればよいですか?