PG_DUMP UNIX 1/20/96 日本語PostgreSQL 日本語PostgreSQL

名称

pg_dump - Postgres データベースをスクリプトファイルにダンプします

形式

pg_dump [ -a ][ -d ][ -D ][ -f filename][ -h hostname][ -o ][ -p port][ -s ][ -t table][ -v ][ -u] dbname

説明

pg_dumpは Postgres データベースをクエリコマンドを含むスクリプトファイルにダンプするユーティリティです。そのスクリプトファイルは ASCII フォーマットで、違うマシンやアーキテクチャだとしてもデータベースを再構築するのに使えます。pg_dumpはすべてのユーザ定義型、関数、表、インデックス、集約関数、演算子などを再生成するために必要なクエリをつくり出します。加えて、すべてのデータは ASCII フォーマットにコピーされますので、容易くコピーしなおしたりテキスト編集ツールに読み込んだりできます。

pg_dumpはある postgresSQL のインストール場所から他絵移す時に、データベースの内容をダンプするのに有用です。pg_dumpを走らせた後、とくに下に挙げた制約を考慮して、その出力スクリプトファイルに警告がないかどうかを調べるべきでしょう。

pg_dump は次のオプションを取ることができます:

-a

スキーマはなしでデータのみをダンプします

-d

データを適切な挿入文字としてダンプします

-D

属性名と一緒にデータをダンプします

-f filename

出力ファイルを指定します

-h hostname

サーバのホスト名を指定します

-o

オブジェクトID (oid) もダンプします

-p port

サーバのポート番号を指定します

-s

データはなしでスキーマのみをダンプします

-t table

このテーブルだけをダンプします

-u

パスワード認証を使います。ユーザ名とパスワードのプロンプトを出します。

-v

冗長(verbose)モードを指定します

もし dbname が与えられなければ、環境変数 DATABASE の値が使われます。

警告と制約

pg_dumpにはいくつかの制約があります。その制約のほとんどはシステムカタログからのメタ情報を取り出す難点に起因します。

ルールと VIEW表

pg_dump はユーザ定義のルールと VIEW表を理解しませんし、それらを適切にダンプできないでしょう。(これはルールが文字ではなく、プランとしてカタログに保存されている事実のためです。)

部分インデックス

pg_dump は部分インデックスを理解しません。(この理由は上記のものと同じです。部分インデックスの述部はプランとして保存されます。)

巨大オブジェクト

pg_dump は巨大オブジェクトを扱えません。巨大オブジェクトは無視されますので、手動で扱わなくてはなりません。

データベースをダンプするには:

pg_dump >db.out
それを再読み込みするには:
psql -e database <db.out

参照

copy(l)