web-dev-qa-db-ja.com

Postgresql:すべてのテーブル構造をバックアップしますが、一部のデータテーブルのみをバックアップします

アプリケーション設定用のテーブル、ユーザー、部門、都市などのリストを含むデータベースがあります。それらのテーブルの構造とデータが必要です。したがって、新しいユーザーを取得した場合、バックアップによって保存されます。

ただし、履歴データと計算データのデータもいくつかあります。そのデータは別のソースからのものであり、しばらくの間しか機能せず、その後期限切れになるため、そのデータをバックアップするのは無駄になります。ただし、復元によってアプリケーションに必要なテーブルが作成されるように、構造が必要になります。

現在、このコマンドを使用していますが、これによりすべてのテーブルとすべてのデータが保存されます。

pg_dump -U "postgres" -h "local" -p "5432" 
        -d dbName -F c -b -v -f c:\uti\backup.dmp

Pg_dumpに関して2つの追加の質問があります。

A)ドキュメントによるとオプション-bはblobデータ用です。私は非常に大きなテーブルを持っていますが、このオプションはBLOBフィールドを持つテーブルのみを対象としていると思います。したがって、これらのフィールドがないため、バックアップに違いはありませんか?.

B)pg_dumpオプションはテーブルとスキーマ用であることがわかります。関数コードを保存するかどうかをどのように指定しますか?

13

バックアップしたくないテーブルを除外する

pg_dump -U "postgres" -h "local" -p "5432" 
        -d dbName -F c -b -v -f c:\uti\backup.dmp
        --exclude-table-data '*.table_name_pattern_*'
        --exclude-table-data 'some_schema.another_*_pattern_*'

関数作成コードはスキーマの一部です。

27
Clodoaldo Neto