トッカンソフトウェア

PostgreSQL 9.4 バックアップ(コマンド系)


PostgreSQLをバックアップする方法はいくつかあります。今回はコマンドを使うバックアップをやります。
コマンドで行うバックアップはデータベース稼働中に実行できます。


■全体バックアップ

全体バックアップを行うには、pg_dumpall コマンドを実行します。
				
cd C:\Program Files\PostgreSQL\9.4\bin
pg_dumpall -c -h localhost -l postgres -p 5432 -U postgres -f C:\work\ps\tmp\test.sql


			
cdコマンドでpg_dumpall.exeがあるフォルダまで移動してから適当にオプションを付けてpg_dumpallを実行します。

コマンドラインオプション

-c バックアップファイルにデータベース削除コマンドとロール削除コマンドを含めます
-h データベースサーバを指定します。上記はlocalhostを指定しましたが、IPアドレスでもいけます。
-l データベース名を指定します
-p ポートを指定します
-U 接続ユーザを指定します。(パスワードは起動後に求められます)
-f バックアップの出力先ファイルを指定します。

コマンドラインオプションは他にもあります。詳しくは公式ページを参照して下さい。

■個別バックアップ

個別バックアップを行うには、pg_dump コマンドを実行します。
				
cd C:\Program Files\PostgreSQL\9.4\bin
pg_dump -Fp -c -h localhost -d postgres -p 5432 -U postgres -t m_user -f C:\work\ps\tmp\test2.sql 


			
cdコマンドでpg_dump.exeがあるフォルダまで移動してから適当にオプションを付けてpg_dumpを実行します。

-t でテーブルを指定します。複数指定することやワイルドカードの指定ができます

複数指定
				
 -t m_user -t t_loginhistory


			
ワイルドカード指定
				
 -t *user


			

コマンドラインオプション

-c バックアップファイルにデータベースオブジェクト削除コマンドを含めます。バックアップ形式がテキストのみ有効です
-h データベースサーバを指定します。上記はlocalhostを指定しましたが、IPアドレスでもいけます。
-d データベース名を指定します
-p ポートを指定します
-U 接続ユーザを指定します。(パスワードは起動後に求められます)
-f バックアップの出力先ファイルを指定します。
-t テーブルを指定します。複数指定やワイルドカードも使えます
-T 対象外とするテーブルを指定します。複数指定やワイルドカードも使えます
-Fp テキストで出力
-Fc 圧縮形式で出力
-Fd テーブル毎に圧縮ファイルを作成しフォルダで出力
--column-inserts COPYコマンドではなくINSERT文で出力。リストア時はCOPYより遅い

コマンドラインオプションは他にもあります。詳しくは公式ページを参照して下さい。

■リストア

リストアを行うには psql 、 pg_restore コマンドを使用します。

テキスト形式の場合、psql を使用し、 の場合、pg_restore を使用します。

psqlでテキスト形式バックアップをリストア

				
cd C:\Program Files\PostgreSQL\9.4\bin
psql -U postgres -f C:\work\ps\tmp\test.sql


			

コマンドラインオプション

-d データベース名を指定します
-f ファイルに書かれたSQLを実行します
-h データベースサーバを指定します。
-p ポートを指定します
-U 接続ユーザを指定します。

コマンドラインオプションは他にもあります。詳しくは公式ページを参照して下さい。

pg_restoreで圧縮形式バックアップをリストア

				
cd C:\Program Files\PostgreSQL\9.4\bin
pg_restore -c -d postgres  -U postgres C:\work\ps\tmp\test2.backup


			

コマンドラインオプション

-c リストア前にデータベースオブジェクトを削除します
-d データベースを指定します
-t テーブルを指定します
-U 接続ユーザを指定します
-h データベースサーバを指定します。
-p ポートを指定します

コマンドラインオプションは他にもあります。詳しくは公式ページを参照して下さい。


ページのトップへ戻る