2008年2月22日

[pgsql-jp: 39245]pg_dump -Ft の一時ファイル

星野と申します
こんにちは

pg_dumpにて下記のメッセージが表示されてバックアップできませんでした
>$ pg_dump -U postgres -Ft test > test
>pg_dump: [tar archiver] could not write to output file: No space left on device

pg_dump に -Ft を指定してtar形式のダンプファイルを作成する場合、

/tmp に一時ファイルを作成するようです。

このファイルはlsしても表示されませんが、lsofでファイル(inode?)を
掴んでいることを見つけました。

># lsof | grep pg_dump | grep tmp
>pg_dump 18608 postgres 4u REG 8,8
293953536 96102 /tmp/tmpf73kay7 (deleted)

/tmp の空き容量はDBの中の一番大きなテーブルのバックアップファイル
と同程度です(1.5GB)

おそらくテーブルごとの一時ファイルを作成していると思いますが、
巨大なテーブルがある場合、巨大な /tmp を作らなければならなくなります。
これはあまり美しく無いです。

一時ファイルの作成場所を変更することは可能でしょうか

環境
PostgreSQL 8.2.5(src コンパイル)
CentOS5
インストール先 /usr/local/pgsql

投稿者 xml-rpc : 2008年2月22日 15:18
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/70182
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。