親テーブルの行をUPDATE/DELETEしたとき、子テーブルの外部キー(FK)が参照整合性を守れないと発生する。代表メッセージの読み方、発生条件、最短復旧、堅牢な削除/再割当て手順、CASCADE/SET NULL/SET DEFAULT/RESTRICTの使い分け、DEFERRABLEやインデッ […]
クライアントがサーバと通信中に、PostgreSQLバックエンドが応答せずに終了したときに出る代表的な接続断エラー。サーバの異常終了・再起動、管理者/ツールによる強制切断、ネットワークやロードバランサのアイドルタイムアウト、拡張モジュールの不具合、メモリ逼迫(OSのOOM Killer)などが主因に […]
このエラーは、データディレクトリ($PGDATA)直下にあるロックファイル「postmaster.pid」をPostgreSQLが検出し、「既に同じデータディレクトリでサーバが動いている」または「異常終了でロックが残っている」と判断したときに発生する。まずは本当に稼働中かを確認し、稼働中なら停止して […]
概要。集計クエリで「集約していない列」をSELECT/HAVING/ORDER BYに出そうとすると、PostgreSQLは「その列はGROUP BYに現れなければならない」と拒否する。発生条件、最短再現、正しい書き換え方(GROUP BYへ追加 / 集約関数に包む / 代表行の選定)、JOIN時の […]
全文検索の tsquery 構文が不正なときに出るエラー。未対応の記号を含む文字列を to_tsquery に渡す、演算子の並び/括弧が不正、引用符の使い方違い、ストップワード除去で式が崩れる、プレフィックス指定 :* の誤用、ダブルクオートの取り違えなどが主因。安全なクエリ生成は「ユーザー入力→p […]
演算子(=、<、>、||、LIKE、ILIKE、@>、<@、~ など)に対して与えたオペランドの型の組み合わせに対応する定義が見つからないと発生する。メッセージには「operator does not exist: 左型 演算子 右型」と具体的な型が出る。型不一致・暗黙キャス […]
to_tsquery/phraseto_tsquery/websearch_to_tsquery 等で作る tsquery の構文が不正なときに出る。代表パターン(演算子の並び・未対応の記号・不一致なカッコ・ストップワードで空オペランド化)を網羅し、最短復旧、堅牢なユーザー入力処理、デバッグ手順、再 […]
CREATE/ALTER/INSERT/UPDATE/VIEW/CTASなどで列名が重複したと判断されると失敗する。典型メッセージ、発生条件、切り分けSQL、確実に直すための具体的修正例(IF NOT EXISTS/別名付与/DDLの冪等化/ORM設定見直し)をまとめた。再発防止チェックリストと再現 […]
PostgreSQLサーバー自身のエラーではなく、ODBCドライバ層(psqlODBCなど)が「関数呼び出しの順序が不正」と判断したときに返されるHY010/S1010系エラーの実態を整理。典型パターン、切り分けSQL/ドライバ設定、アプリ側の正しい呼び出し順、サンプルコード(C ODBC / Py […]
アプリやpsqlでINSERT/UPDATE/DELETE/DDLを実行したときに「transaction is read-only」または「cannot execute … in a read-only transaction」が出る状況の原因を体系的に整理し、確認コマンドと安全な回復手順をまとめ […]