クラウドベースツールの利便性:Cloud SQL と RDS for PostgreSQL
pgAdmin を使った PostgreSQL テーブルダンプ (.sql) のエクスポートとインポート
このチュートリアルでは、pgAdmin を使って PostgreSQL データベースのテーブルをダンプ (.sql ファイル) にエクスポートし、別のデータベースにインポートする方法を説明します。
前提条件
- PostgreSQL サーバーがインストールおよび実行されている
- pgAdmin がインストールおよび設定されている
- エクスポートとインポートするデータベースへのアクセス権を持つユーザー
手順
pgAdmin でデータベースに接続する
- pgAdmin を起動し、PostgreSQL サーバーとデータベースに接続します。
- 接続が確立されると、ナビゲーションツリーにデータベースが表示されます。
エクスポートするテーブルを選択する
- エクスポートしたいデータベースを展開します。
- スキーマを展開し、エクスポートしたいテーブルを選択します。
エクスポート設定を指定する
- 右クリックメニューから「エクスポート/インポート」を選択します。
- 「ダンプ」タブを選択します。
- ファイル形式を「SQL カスタム」に設定します。
- オプションで、エクスポートするデータとオブジェクトをさらに設定できます。
- 「ファイルへ保存」ボタンをクリックし、エクスポートファイルの場所と名前を指定します。
- 「保存」をクリックしてエクスポート処理を開始します。
インポートするデータベースに接続する
- pgAdmin で別のデータベースに接続します。
テーブルをインポートする
- スキーマを展開し、インポートしたいテーブル (既存の場合は同じ名前) を選択します。
- 「参照」ボタンをクリックして、エクスポートした .sql ファイルを選択します。
補足
- pgAdmin は、コマンドラインツール
pg_dump
とpg_restore
を使用して、テーブルダンプのエクスポートとインポートを GUI で操作するフロントエンドツールです。 - エクスポート時に圧縮オプションを指定することで、エクスポートファイルのサイズを小さくできます。
- 大規模なテーブルをインポートする場合は、インポート処理に時間がかかる場合があります。
PostgreSQL テーブルダンプ (.sql) のエクスポートとインポート - サンプルコード
必要なツール
pg_dump
コマンドラインツール
エクスポート
pg_dump -d database_name -t table_name -f table_dump.sql
説明
-d database_name
: エクスポートするデータベースの名前-f table_dump.sql
: エクスポートファイルの名前
インポート
pg_restore -d target_database -f table_dump.sql
- オプションを追加することで、エクスポートとインポートをより詳細に制御できます。詳細は
pg_dump
とpg_restore
のマニュアルページを参照してください。 - 大規模なデータベースをエクスポートまたはインポートする場合は、圧縮オプションを使用することをお勧めします。
PostgreSQL テーブルダンプ (.sql) のエクスポートとインポートには、pgAdmin とコマンドラインツール以外にもいくつかの方法があります。
スクリプト
- 独自のスクリプトを作成して、pg_dump と pg_restore コマンドラインツールを呼び出し、エクスポートとインポートのプロセスを自動化することもできます。これにより、複雑なワークフローや繰り返しタスクを処理することができます。
最適な方法の選択
使用する方法は、ニーズと要件によって異なります。
- シンプルで使いやすい: pgAdmin は、特に GUI を好むユーザーにとって、シンプルで使いやすいオプションです。
- 柔軟性と制御: コマンドラインツールは、より多くの柔軟性と制御を提供し、複雑なワークフローを処理するのに適しています。
- クラウドベースの利便性: クラウドベースのツールは、クラウド環境で PostgreSQL データベースを管理している場合に適しています。
- 高度な機能: 商用データベース管理ツールは、高度な機能とサポートが必要な場合に適しています。
- 自動化: 独自のスクリプトは、複雑なワークフローや繰り返しタスクを自動化する場合に適しています。
postgresql postgresql-9.2 pgadmin