web-dev-qa-db-ja.com

PostgreSQLでスキーマのみのバックアップと復元を行うにはどうすればよいですか?

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

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

または

あなたはこれでできる単一のコマンドで

pg_dump oldDB --schema masters  | psql -h localhost newDB;
36
solaimuruganv

以下のように、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
27
Sumit Munot

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

マニュアルの例:

名前がeastまたはwestで始まりgsmで終わるすべてのスキーマをダンプするには、名前にWordテストが含まれるスキーマを除外します。

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

3
Frank Heikens