54000: program_limit_exceeded
PostgreSQL意味
PostgreSQL の実装/形式上の上限を超えた。例: 行またはフィールドの最大サイズ、インデックス行のサイズ、クエリ内のパラメータ/列の数の上限。
原因
非常に大きな値の格納 (例: 1 GB を超えるフィールド)、B-tree ページの上限 (約 2704 バイト) を超えるインデックス値、または過剰な列数やクエリパラメータ数。
対処方法
超過した上限を特定する (通常はメッセージに示される)。非常に大きなテキスト/データは構造を見直すか分割する。長いテキスト列には B-tree ではなくハッシュインデックスまたは式/部分インデックスを使う。クエリのパラメータ/列の数を減らすか、バッチを分割する。