PostgreSQLスキルアップノート(自己啓発のための個人サイト)
pg_dump,pg_dumpall(正式名:SQLによるダンプ)
【一覧に戻る】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■■■ PostgreSQL スキルアップノート
■■■■
■◆■■ pg_dump,pg_dumpall(正式名:SQLによるダンプ)
■■■■
■■■■
■■■■ 2012/11/10
■■■■ 使用環境:PostgreSQL9.1.4 (CentOS6.2)
(C) 2012 ohdb
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★自己都合により実機確認は9.1、マニュアルへのリンクは9.2としています。ご了承下さい。
【マニュアル】
・pg_dump全体→●[マニュアル]SQLによるダンプ
・pg_dumpコマンド→●[マニュアル]pg_dump
・pg_dumpallコマンド→●[マニュアル]pg_dumpall
・pg_restoreコマンド→●[マニュアル]pg_restore
【参考記事】
・Let's postgres→●[記事]論理バックアップ(pg_dump と pg_dumpall)
【参考】PostgreSQLのバックアップ方法は以下の3種類
PostgreSQL正式用語 通称
-------------------------------------------------------------------------------------
「SQLによるダンプ」 ★(本章対象) pg_dump,pg_dumpall
「ファイルシステムレベルのバックアップ」 オフラインバックアップ,コールドバックアップ
「継続的アーカイブ」 オンラインバックアップ,ホットバックアップ
■1■ 概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
・pg_dumpはDBをひとつ指定してとるもの
・pg_dumpallはDBクラスタ全体をとるもの
┌────┐
│詳細略 │
└────┘
重要な用途
・PostgreSQL新バージョンへの移行
・32ビット環境から64ビット環境への移行
この他、マニュアルでは触れていないが、異なるプラットフォームへの移行、
たとえばWindowsからlinuxへの移行などにも利用可能。
■2■ 出力形式
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
出力形式は以下の通り。
出力形式によって圧縮やリストア時のコマンドが異なる。
出力形式 指定する 圧縮 圧縮 リストア
オプション デフォルト 方法
--------------------------------------------------------------------------
pg_dump スクリプト形式 [-Fp] ○ 非圧縮 psql
---------------------------------------------------------------
カスタム形式 -Fc ○ 圧縮 pg_restore
---------------------------------------------------------------
ディレクトリ形式 -Fd ○ 圧縮 pg_restore
---------------------------------------------------------------
tar形式 -Ft × 非圧縮 pg_restore
--------------------------------------------------------------------------
pg_dumpall スクリプト形式 − − psql
--------------------------------------------------------------------------
pg_dump
・スクリプト形式 pg_dump dbname > dumpfilename.sql
・カスタム形式 pg_dump -Fc dbname > dumpfilename.dump
・ディレクトリ形式※2 pg_dump -Fd dbname -f dumpdirname
・tar形式 pg_dump -Ft dbname > dumpfilename.tar
pg_dumpall pg_dumpall > dumpall.sql
・pg_dumpの対象DBの指定は必須でない。
・ディレクトリ形式のみリダイレクト不可のため-fオプションを使用。
以外での出力先指定は-fオプション、リダイレクトどちらも使用可である
がリダイレクトに統一。
・圧縮○となっている形式では-Zによる圧縮指定が可能。(-Z 圧縮レベル)
ただしデフォルトが圧縮となっている形式なら特に指定は不要。
もちろん標準出力からgzipなどで圧縮してもよい。
・他にさまざまなオプションがあるが詳細はマニュアルを参照。
pg_dumpコマンド→●[マニュアル]pg_dump
■■ pg_dumpその1 スクリプト形式
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
個人的な必要に応じて順次記載
【□】 pg_dump test1 > test1_'date
■■ pg_dumpその2 カスタム形式
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
個人的な必要に応じて順次記載
■■ pg_dumpその3 ディレクトリ形式
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
個人的な必要に応じて順次記載
■■ pg_dumpその4 tar形式
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
個人的な必要に応じて順次記載
■■ pg_dumpall
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
個人的な必要に応じて順次記載
以上