[pgsql-jp: 41795] ERROR: could not create relation "pg_toast_toast_XXXX"の回避策について

FASYS)小川 智康 tomoyasu.ogawa @ keinet.ne.jp
2015年 7月 8日 (水) 16:17:59 JST


初めて質問させていただきます。小川と申します。

Red Hat Enterprise Linux ES release 3/Postgres7.4.2にて、
pg_toast関連のエラーが発生し、対処に憂慮しております。

大まかなシステムの仕組みとしては
設問を自由に作成できるアンケートのようなシステムを構築し、
お客様の回答内容を日次でバッチ処理して集計するというものになります。

お客様の回答内容は、1設問ごとに1レコードずつ
「アンケート番号、お客様番号、設問番号、回答内容」といった形式で
テーブルに記録しております。

そしてバッチの集計処理にて、1アンケートごとに
集計用のテンポラリテーブルを作成し、
1お客様毎に1レコードずつ記録する形式にしてから
CSV出力を行い、
次のアンケートの集計を行う前にテンポラリテーブルを削除する
という処理を行っております。
(上記処理をアンケートの数だけループ処理しており、
 現在は1回のバッチ処理にて5000ほどの集計処理を行っております)

最近になり、3日間ほどですがこのテンポラリテーブルを作成する箇所で
postgresエラーが検知され処理に失敗しているのですが、
その原因・対処が分からないため、アドバイス頂きたく存じます。

以下エラーメッセージの内容になります。

pg_query(): Query failed: ERROR:  could not create relation "pg_toast_1558545": File exists


一度このエラーが発生すると、それ以降最後の集計分まで同じエラーが続いております。

pg_toastの仕組みについては多少勉強しましたが、
このエラーに対する回避策まではつかむことができず、
前例や解決手段がないものかご教示頂けたら幸いでございます。

以上お手数ですがよろしくお願いいたします。






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