ポスグレのダンプとリストアのコマンドって忘れちゃうことあるよねー
あるあるー
書きます
ダンプの方法
pg_dump -h <ホスト名> -p <ポート番号> -U <ユーザー名> -d <DB名> -F c -f <ファイル名>
-h
: データベースに接続するホストを指定します。
-p
: データベースに接続するポート番号を指定します。
-U
: データベースに接続するユーザー名を指定します。
-d
: ダンプを作成するデータベース名を指定します。
-F c
: ダンプファイルの形式を指定します。c
はカスタム形式を表します。
-f
: 出力ファイルの名前を指定します。
↓実際の値を入れるとこんな感じ(自分のテストデータベース用)
pg_dump -h db -p 5432 -U postgres -d django_sample -F c -f backup_1201.dump
リストアの方法
pg_restore
は、PostgreSQLのデータベースバックアップファイルからデータを復元するための強力なコマンドラインツールです。pg_restore
には多数の便利なオプションが用意されています。これらのオプションを活用することで、データの復元プロセスをより柔軟に、効率的に行うことが可能です。ここでは、pg_restore
の主要なオプションについて、その機能と使い方を紹介します。
まず基本的なものはこちら
pg_restore --clean -h <ホスト名> -p <ポート番号> -U <ユーザー名> -d <DB名> <ファイル名>
--clean
: リストア前に、対象のデータベースをクリーンアップします。これにより、データベースがリストアされる前に、既存のデータベースオブジェクトが削除されます。
-h
: データベースに接続するホストを指定します。
-p
: データベースに接続するポート番号を指定します。
-U
: データベースに接続するユーザー名を指定します。
-d
: リストアするデータベース名を指定します。
↓実際の値を入れるとこんな感じ(自分のテストデータベース用)
pg_restore --clean -h db -p 5432 -U postgres -d django_sample backup_1220.dump
おまけ pg_restoreのその他のオプション
-C
/ --create
復元プロセスの開始前にデータベースを作成します。このオプションは、データベース自体がバックアップファイルに含まれている場合に特に有用です。
-c
/ --clean
指定されたデータベース内の既存オブジェクトを削除してから復元を行います。これにより、既存のデータとの衝突を避けることができます。
-L
/ --list
バックアップファイル内のオブジェクトのリストを表示します。実際の復元を行う前に、どのようなオブジェクトがバックアップファイルに含まれているかを確認するのに便利です。
-n
/ --schema
特定のスキーマ内のオブジェクトのみを復元します。これにより、必要なスキーマのデータのみを選択的に復元することができます。
Copy codepg_restore -d dbname -n schemaname backup_file
-t
/ --table
特定のテーブルのみを復元します。このオプションを使用すると、特定のテーブルだけを選択的に復元できます。
Copy codepg_restore -d dbname -t tablename backup_file
-v
/ --verbose
詳細な出力モードを有効にします。復元プロセス中に発生する各ステップの情報を表示します。
-j
/ --jobs
並行実行のジョブ数を指定します。このオプションを使用することで、復元プロセスを高速化することが可能です。
Copy codepg_restore -d dbname -j 4 backup_file