2013-11-26 38 views
13

pg_dumpコマンドから、出力をプレーン・ファイルにするシーケンスを除外したいとします。pg_dumpに特定のシーケンスを除外させる方法はありますか?

Command: /Library/PostgreSQL/8.4/bin/pg_dump --host localhost --port 5433 --username xxx --format plain --clean --inserts --verbose --file /Users/xxx/documents/output/SYSTEM_admin_20131126015325.sql --exclude-table public.table1 --exclude-table public.table2 mydatabase 

は、私はそこに私は上記の使用していたテーブルのスイッチがあり、pg_dump documentationに述べたように、あなたが/ pg_restoreのと組み合わせて、tar形式で無効にデータベース・オブジェクトを有効にすることができますが、私はpg_restoreのを使用してはならないだろうことを知っています。

多くのおかげ

グラハム

答えて

23

2例があります。

  1. 表あなたも投棄しているでを所有している除外するためのシーケンス(典型的なケース:SERIALコラム) 。
    参照:Dump a table without sequence table in postgres
    短い答え:いいえ、シーケンスは脇に置くことはできません。

  2. この配列は、がダンプされたテーブルによって所有されていないです。次に、それがテーブルのようにスイッチ--exclude-tableで除外することができます。

    pg_dumpのドキュメントから

:パターンは-t

と同じ規則に従って解釈さ

-Tテーブル --exclude-テーブル=テーブル

Do not dump any tables matching the table pattern. 

-t

-tテーブル
--table =テーブル

Dump only tables (or views or sequences or foreign tables) matching table 
+0

これは、テーブルによって所有されていないシーケンスであるため、除外-tableオプションは素晴らしい作品。 – Graham

関連する問題