2025年9月

1/3ページ

PostgreSQL『ERROR: view cannot return tuples of different sizes』の原因と対処

  • 2025.09.30

ビューが返す1行(タプル)の“列数(物理サイズ)”が一定にならないと検出されたときに発生する。典型は、ビューのON SELECTルールが複数あって出力列が一致していない、UNION/関数/複合型の扱いで分岐ごとに列数がズレる、あるいはビューの再定義や下位オブジェクト変更で列構成が不整合になったケース […]

PostgreSQL『more than one row returned by a subquery used as an expression』の原因と対処

  • 2025.09.29

単一の値を返す前提(スカラ副問い合わせ)の場所で、実際には2行以上返ってしまったときに発生する。=(等価比較)の右側、SELECT句の式、INSERT/UPDATEの値式、CHECK制約や生成列の式などが対象。要件別の書き換え(IN/EXISTS/JOIN/集約/上位1件の決定規則/配列化)と、スキ […]

PostgreSQL『more than one row returned by a subquery used as an expression』の原因と対処

  • 2025.09.26

単一の値を返す前提(スカラ副問い合わせ)の場所で、実際には2行以上返ってしまったときに発生する。=(等価比較)の右側、SELECT句の式、INSERT/UPDATEの値式、CHECK制約や生成列の式などが対象。要件別の書き換え(IN/EXISTS/JOIN/集約/上位1件の決定規則/配列化)と、スキ […]

PostgreSQL『ERROR: index row size exceeds maximum』の原因と対処

  • 2025.09.24

B-treeインデックスに格納される1レコード(インデックスタプル)が上限サイズを超えたときに出る。8KBブロックの環境では1タプルあたり約2.7KB前後が実質上限で、巨大なtext/varcharや多列インデックス、INCLUDE列の盛り過ぎ、jsonbのB-tree化などで発生しやすい。即効回避 […]

PostgreSQL『connection limit exceeded for non-superusers』の原因と対処

  • 2025.09.24

新規接続が上限に達し、一般ユーザー(非スーパーユーザー)の接続を受け付けられない状態で発生する。典型メッセージの読み方、発生条件、即効復旧(安全にセッションを開放)、恒久対策(接続数設計・プーリング・設定値の見直し)、クラウド環境での注意点までを体系化した。 エラーメッセージの読み方(代表例) ・「 […]

PostgreSQL「server closed the connection unexpectedly」の原因と安全な解決手順【恒久対策付き】

クライアントがサーバと通信中に、PostgreSQLバックエンドが応答せずに終了したときに出る代表的な接続断エラー。サーバの異常終了・再起動、管理者/ツールによる強制切断、ネットワークやロードバランサのアイドルタイムアウト、拡張モジュールの不具合、メモリ逼迫(OSのOOM Killer)などが主因に […]

1 3