[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 メーリングリストの案内