[pgsql-jp: 39248] Re: pg_dump -Ft の一時ファイル
ISHIDA Akio
iakio @ mono-space.net
2008年 2月 23日 (土) 12:36:51 JST
こんにちは。石田@苫小牧市と申します。
08/02/22 に yoko00068<yoko00068 @ gmail.com> さんは書きました:
> 星野と申します
> こんにちは
>
> 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 を作らなければならなくなります。
> これはあまり美しく無いです。
>
> 一時ファイルの作成場所を変更することは可能でしょうか
>
あまりちゃんと確認してませんが、多分tmpfile(3)の
ようなので、環境変数TMPDIRで変更できるのではないでしょうか。
--
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>
pgsql-jp メーリングリストの案内