Backing up and restoring PGAA tables on WarehousePG#
PGAAテーブルは、WarehousePGクラスターではなく、オブジェクトストレージにデータを保存します。
whpg-backup パッケージが提供する
gpbackup utility
は、PGAAと通常のヒープテーブルの両方を含む混合データベースをサポートします。
PGAAテーブルの場合、
gpbackupはメタデータテーブルマッピング、格納場所、パスバインディングのみをキャプチャし、オブジェクトストレージの基になるデータはキャプチャしません。このメタデータはgprestoreによって自動的に復元されるため、手動で再構成せずに、復元後にすぐにPGAAテーブルを照会できます。
オブジェクトストレージの基になるデータの保護は、オブジェクトストレージプロバイダーの責任です。
前提条件#
whpg-backup
バージョン1.33以降がWarehousePGクラスターにインストールされている。
バックアップ#
コーディネーターでgpbackupを実行します。
gpbackup --dbname mydb --backup-dir /path/to/backup-dir
オプションの完全なリストについては、
gpbackup リファレンスページを参照してください。
出力からのバックアップタイムスタンプをメモします。復元手順に必要になります。例
[INFO]:-Backup Timestamp = 20260417100433
復元#
--redirect-db
を使用して、PGAAテーブルを新しい空のデータベースに復元します。既にPGAAテーブルがある既存のデータベースに復元する場合、メタデータが既に存在する場合テーブルはスキップされるため、不足しているテーブルのみが復元されます。
ターゲットデータベースを作成し、PGAAおよびPGFS拡張機能を作成します。
createdb mydb_restored --template=template0
psql -d mydb_restored -c "CREATE EXTENSION pgaa CASCADE;"
gprestoreを実行します。
gprestore --backup-dir /path/to/backup-dir --timestamp <backup-timestamp> \
--redirect-db mydb_restored --on-error-continue
オプションの完全なリストについては、 gprestore リファレンスページを参照してください。
注釈
--create-db gprestoreオプションは、PGAAではサポートされていません。 !!!
gprestore出力の
Tables restoredをチェックして、リストアが成功したことを確認します。ストレージ場所が復元され、PGAAテーブルがオブジェクトストレージに対してすぐに照会可能であることを確認します。
SELECT * FROM pgfs.list_storage_locations();
SELECT count(*) FROM my_table;