[pgsql-jp: 29713] Re: pg_dumpでout of memory エラー
Tatsuo Ishii
t-ishii @ sra.co.jp
2003年 4月 24日 (木) 18:24:44 JST
石井です.
> 現在、Postgresql7.3.2の検証を行っているのですが、3000テーブル
> ほど保持しているDBにpg_dumpを実行すると、
>
> pg_dump: WARNING: ShmemAlloc: out of memory
> pg_dump: Attempt to lock table "テーブル名" failed. ERROR:
> LockAcquire: holder table out of memory
>
> と出力され、正常に終了しません。
> psqlなどでこの現象が発生したテーブルを見ても問題なく参照できます。
> また、現象が出るDB以外は同じようなテーブル数を保持しているのですが、
> 問題なくpg_dumpは動作します。
>
> 実行環境は、RedHatLinux7.1 Memory 512M
> でfreeコマンドで使用量を見ながらやっても特にメモリやswapを食いつぶして
> しまっているようには見えないのですが・・・。
> postgresql.confはlog部分とtcpip_socket = true以外はデフォルトです。
>
> なにか回避方法はないのでしょうか?
さっとソースを見た限りでは,postgresql.confの
max_locks_per_transaction = 64
を増やしてpostmasterを再起動するといいのかな,という気がします.
あまり自信はないのですが...
--
Tatsuo Ishii
pgsql-jp メーリングリストの案内