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
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
個人的な必要に応じて順次記載




以上 
inserted by FC2 system