[pgsql-jp: 32938] pg_dumpのMemoryContextAllocエラー

solaris solaris @ red-eyes.jp
2004年 5月 14日 (金) 20:11:31 JST


solarisと申します。

pg_dump を行った際に下記エラーが発生し、ダンプを取ることが
できなくなりました。
-------------------------------------------------------------
pg_dump: ERROR:  MemoryContextAlloc: invalid request size 4294967293
pg_dump: lost synchronization with server, resetting connection
pg_dump: SQL command to dump the contents of table "XXXXXX" failed: PQendcopy() failed.
pg_dump: Error message from server: pg_dump: The command was: COPY public.XXXXXX (XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX) TO stdout;
-------------------------------------------------------------

このエラーを解消するには、異常となるレコードを特定し、異常と
考えられるカラムを更新するか、レコードごと削除するしかありま
せん。
現在、定期的にcronによりDBのダンプを取得していますが、数ヶ月
後にはまた下記エラーが発生しダンプを取ることができなくなって
しまいます。

先日、運が悪いことに上記エラーが発生中にDBがクラッシュをして
postmasterを起動することができない現象が発生しました。
ちょっとうろ覚えで申し訳ないのですが、pg_xlogからpg_clog中の
ファイルが1個破損しているために起動できないようでした。
ダンプのバックアップデータから復旧させようにも正常にダンプが
取得できていないため、大量のデータを失ってしまうはめとなりま
した。

ここで質問なのですが、上記エラーが発生する原因をご存じの方は
いらっしゃいますでしょうか。
またエラーが発生しないようにする回避策というのはあるのでしょ
うか。

下記に環境を示します。
OS: RedHat AS 2.1
DB: PostgreSQL 7.3.3


-- 
solaris <solaris @ red-eyes.jp>





pgsql-jp メーリングリストの案内