43

PostgreSQL データベースでスキーマ レベルのバックアップを取得し、別のデータベースで復元するにはどうすればよいですか? これに使用できる単一のコマンドはありますか? たとえば、pg_dump と restore を 1 行で実行できますか?

4

4 に答える 4

48
pg_dump --schema=masters oldDB > masters1.sql
cat masters1.sql | psql newDB

また

これでできる単一のコマンドで

pg_dump oldDB --schema masters  | psql -h localhost newDB;
于 2012-09-24T12:08:21.107 に答える
38

スキーマをバックアップし、以下のように postgresql 用にシステムに復元します。

データベースのスキーマをダンプする

pg_dump -s database_name > db.sql

特定のテーブルのスキーマをダンプする

pg_dump -s database_name -t table_name > db.sql 

以下のコマンドを使用して、バックアップしたスキーマを復元します

psql -d database_name -h localhost -U postgres < path/db.sql
于 2014-05-13T21:29:15.167 に答える
4

ドキュメントの何が問題になっていますか?

マニュアルの例:

名前が「east」または「west」で始まり、「gsm」で終わるすべてのスキーマをダンプするには、名前に「test」という単語が含まれるスキーマを除外します。

$ pg_dump -n 'east*gsm' -n 'west*gsm' -N ' test ' mydb > db.sql

于 2012-09-24T12:24:28.437 に答える