PostgreSQLデータベースのバックアップはpg_dump
まず、バックアップと復元
注意:ディレクトリ内のpg_dumpコマンドを
図1に示すように、データベースのバックアップテスト
pg_dumpは- H 127.0。0.1 - P 5432 - Uユーザ名- C - db_back.sql試験F
2、データベースTEST2にデータをリストア
psqlの- Uのpostgresの- F / db_back.sql TEST2
第二に、コマンドは、詳細な
- 基本コマンド
pg_dumpの[ OPTION ] ... [ DBNAME ]
注:データベース名は最後に入れて、デフォルトのシステム変数PGDATABASE指定されたデータベースを指定しないでください。
- 詳しいです
一般的なオプション:(一般的なオプション)
-f、--file = FILENAME出力ファイルまたはディレクトリ名、ファイル名の輸出後に保存
-F、--format = C | D | T | p個の出力ファイル形式(カスタム、ディレクトリ、タール、 プレーンテキスト形式のエクスポートファイル(デフォルト))
-jは、ダンプ・ジョブズ同時にこれだけのNUM =並列使用--jobs
-v、--verbose冗長モード冗長モード
-V、--versionバージョン情報を出力し、その後、終了出力をバージョン情報は、次いで、終了
するための-Z、--compress = 0-9圧縮レベルを圧縮形式で圧縮形式の圧縮レベルである
--lock待ちタイムアウトが=タイムアウトが失敗テーブルロックのためにタイムアウトを待って待機リスト操作でロックアウト失敗
- ?このヘルプを表示--help、その後、出口は、このヘルプを表示して終了の
出力内容:(出力制御オプションを制御するオプション)
-a、--dataのみだけダンプデータではなく、スキーマモード含まれていない、のみエクスポートするデータを
-bを--blobsがダンプにラージ・オブジェクトを含む、ダンプにラージオブジェクトを含む
-c、--cleanクリーン(ドロップ(削除クリアするには、再作成する前に再作成の前に)データベースオブジェクト)データベースオブジェクト
-C前に、--createは、データベースを作成するコマンドが含まれるダンプにインポートせずにデータベースステートメントを構築するなど、データベースを(作成するために、ダンプに含まれるコマンド最初のデータベース)構築
-Eを、符号化で符号化されたデータの形式で符号化の符号化データ転送エンコーディング= --encodingダンプ
-nは、--schema =スキーマは名前ダンプ )スキーマ(単数または複数のみモードのみ指定された名前をダンプ
- N、--exclude-スキーマ= SCHEMAはないという名前のスキーマ(複数可)をダンプしないダンプモードの名前が付いていない
--oidsはOIDを備えたダンプダンプ内のOIDが含まれ、-o
-O、復旧スキップ--no-所有者でオブジェクトの所有権平文形式を、オブジェクトによって無視された形式のテキスト・プレーン復元するために属し
-s、スキーマのみの--schemaのみのダンプを、NOデータが含まれていない、専用モードをダンプデータが(データをエクスポートしていない)
、--superuser名=ユーザー名がフォーマット指定されたルート名でスーパーユーザプレーンテキストダンプに使用するには、-s
-t、--table = TABLEは、指定されたダンプのみのテーブル(複数可) のみ指定された名前のテーブルのダンプ
-T、--exclude-テーブル=テーブルがないというテーブル(複数可)をダンプしない名前の指定のみテーブルをダンプ
-xを、--no-権限はダンプしません特権(許可/取り消しを) 許可をダンプしないでください(許可/取り消し)
アップグレードユーティリティで使用するため--binary-アップグレードは、アップグレードツールによってのみ使用され
、挿入は--columnデータをダンプINSERTコマンドのように INSERT ダンプの形式で列名に列名を持つコマンドをデータ
引用符無効ドルを--disable-ドル引用符 、引用符SQL標準を使用して引用符でドル(記号)をキャンセル、標準SQLを使用すると、引用
--disable-トリガーはDATA-中にトリガを無効にするだけで復元データのみを復元するプロセスでトリガーを無効にします
-除外・テーブルデータ= TABLEはない (S)という名前のテーブルのデータをダンプしないCOPYコマンドダンプデータの形式ではなく、INSERTコマンドに
、--insertsは、データコマンドとしてダンプINSERTをダンプではなく、最後以内COPY
--no-セキュリティラベルダンプセキュリティラベルの割り当ては行いませ
--no-スナップショットは同期並列ジョブで同期・スナップショットを使用しない
--no-ない表領域がダンプ割り当て表領域テーブルスペースの割り当て情報ダンプしません。
--no-ログに記録されない・テーブルのデータをくださいダンプありませんデータテーブルは、ログに記録されない
、--quoteすべて-すべての引用符識別子識別子をも、キーワードIFありません
=ダンプはsectionTop SECTIONの--section(プリデータ、データ、またはData-POST)という名前の
待ち-CAN --serializable DEFERRABLEダンプなしの異常ザ・までRUN
セッション許可- SET- --use
AUTHORIZATIONではなく、コマンドSESSION SETの使用
ALTERをSET所有権所有者へのコマンド
接続オプション:(コントロールオプション接続)
データベース名ダンプする-d、--dbname = DBNAMEデータベース
-h、--host =ホスト名、データベース・サーバーのホストまたはホスト名またはデータベース・サーバソケットソケットディレクトリをディレクトリ
データベースサーバの-p、--port =ポート番号ポートデータベースサーバーのポート番号
-U、--username = NAMEが指定されているように接続するデータベース・ユーザーの接続にデータベースユーザーを指定するため
のプロンプトを表示しません--no-パスワード、-wパスワード永遠にパスワードプロンプトを表示しません
-W、--password力・パスワード・プロンプト(必要があります自動的に発生) 強制的にパスワードのプロンプト(自動)
--role = ROLENAMEダンプの前にSET ROLEを行います
:フラットファイル形式のスクリプト:
例:
モード-s除くのみ1. Postgresデータベースのデータエクスポート、
pg_dumpの- U-Postgresの- F / postgres.sql - S Postgresの(データベース)
(データを含む)2.エクスポートPostgresデータベース
pg_dumpの- UのPostgres - F / postgres.sqlのPostgres(データベース名)
TEST01の3.エクスポートデータのpostgresデータベーステーブル
作成する データベースの "TEST01"を有する所有者= "Postgresの"エンコード= ' UTF-8 ' ;(単一および二重引用符は、間違っていることができない) のpg_dump - U-Postgresの- F / postgres.sql - T TEST01のPostgres(データベース)
4.エクスポートTEST01のPostgresデータベースのデータテーブルの形式でステートメントを挿入します
pg_dumpの- U-Postgresの- F / postgres.sql - T TEST01 - カラムインサートのPostgres(データベース)
データベースbk01に復元されたデータ
psqlの- Uのpostgresの- F / postgres.sql bk01
第二に、アーカイブ形式の使用:
pg_restoreのに
使用プレーンテキストにpg_restoreは、プレーンテキスト形式でスクリプトを復元するには、復元することはできません
[ルート@ localhostのはpostgres-9.3.5] #pg_restoreの-U postgresの-d bk01を/ mnt / hgfsディレクトリ/ウィンドウ\&Ubuntuの\共有を\ フォルダ/ vendemo.sql
にpg_restore:[アーカイバ] INPUTはテキスト形式のダンプのように見えるファイル.. psqlを使用してください
、データベースとアーカイブファイル形式を再構築するためにpg_restoreを使用しています。
バックアップするには1.
のpg_dump -UのPostgres -F Tを-f /vendemo.tar vendemoは、800以上のkバックアップ
・リカバリを:.
Postgresのにpg_restoreのは-U BK01 /vendemo.tar -d
まずバックアップを:
-U Postgresの-Fをpg_dumpはC -f /vendemo.tar vendemo以上300 kのバックアップ
、リカバリを:
pg_restoreのは-U PostgresのBK01 /vendemo.tar -d
第三に、圧縮されたバックアップとリカバリを:
処理する大規模なデータベースを:
1.使用圧縮ダンプは、あなたの好みを使用圧縮プログラム、例えば、gzipのため。
。バックアップ:
vendemoのpg_dump -Uのpostgresの| gzipで>のみ30 K引き下がっ/vendemo.gz
回復:.
はgunzip -c /vendemo.gzを| Postgresのはpsql -U bk02
または
bk02のPostgresのはpsql -U | gunzipは| CAT /vendemo.gz
2。スプリットを使用しています。スプリットコマンドは、あなたの出力は次のように分解の方法を使用することを可能にするサイズを受け入れることができ、オペレーティング・システム。例えば、そのように1メガバイトの各ブロックサイズ:
最初のバックアップ:.
のpg_dump -UのPostgres -d vendemo |スプリット-b 100K - / VENDは、/、販売
方法のうちのガイドである100K vendaa
vendab 100K
vendac 100K
vendad 16K
回復。:
猫/ VEND / VEND * | psqlの -Uのpostgres bk02