PostgreSQL「disk quota exceeded」の原因と対処
- 2025.08.28
- PostgreSQL
概要。OS/ストレージのクォータ(ユーザ/グループ/プロジェクト/ボリューム制限)に到達すると、PostgreSQL がファイルの拡張・作成・書き込み時に「disk quota exceeded(EDQUOT)」で失敗する。発生条件、切り分け手順、即時の圧力低減、クォータ緩和・設計変更、データ削減・ […]
概要。OS/ストレージのクォータ(ユーザ/グループ/プロジェクト/ボリューム制限)に到達すると、PostgreSQL がファイルの拡張・作成・書き込み時に「disk quota exceeded(EDQUOT)」で失敗する。発生条件、切り分け手順、即時の圧力低減、クォータ緩和・設計変更、データ削減・ […]
概要。データがデータベース/クライアントの想定エンコーディングと一致せず、変換できないバイト列(UTF-8 で不正な並び、0x00、サロゲート相当など)が混入すると発生する。発生条件の整理、切り分けの順番、CSV/ETL/アプリ挿入での具体対処、移行時の落とし穴、再発防止までを実務で使える手順とコマ […]
概要。OS が書き込み先デバイスの空きブロックまたは inode を返せなくなると、PostgreSQL はファイル作成・拡張・書き込み時に「no space left on device(ENOSPC)」で失敗する。増えがちな場所は pg_wal(WAL)、ログ出力先、テンポラリ、テーブルスペース […]
PostgreSQLでJOINを含むクエリを記述していると発生する『column reference is ambiguous』エラー。その発生理由と具体的な修正方法、避けるための書き方を具体例を交えて整理。 エラーの概要 このエラーは、同じ名前のカラムが複数のテーブルに存在している場合に、どのテー […]
PostgreSQLを使った開発中に頻出する『ERROR: prepared statement already exists』。このエラーが発生する具体的な条件やその回避策、根本的な修正方法を体系的にまとめました。 エラーの概要 このエラーは、同じ名前のプリペアドステートメントを再び作成しようとし […]
このエラーは、PostgreSQLでトランザクションの分離レベルが「SERIALIZABLE」に設定されている際に、同時に複数のトランザクションが同じ行を更新しようとして競合が発生した場合に起こる。高い一貫性を保証するための制限だが、アプリケーション側で対策を取らないと頻発することがある。以下に、エ […]
このエラーは、SQL文内で指定したテーブルやビューなどのリレーションが存在しない、またはアクセスできないときに発生する。特にスキーマ名の指定忘れや、テーブル作成前のクエリ実行、権限不足などで頻出する。エラーの発生条件を踏まえ、考えられる原因とその対応方法を詳しく整理する。 エラーメッセージの例と発生 […]
このエラーは、複数のトランザクションが互いにロックを取り合い、先に進めずにデッドロック状態に陥ったときにPostgreSQLが強制的にどちらか一方のトランザクションを終了させて発生する。特に同時書き込みや更新が多発するWebアプリやAPI環境では頻出する。エラーの内容とその発生条件、回避および解決の […]
このエラーは、SQL文の構文に問題がある場合に表示される。エラーメッセージは「syntax error at or near “XXX”」のように、PostgreSQLがどの部分で構文を解釈できなかったかを指摘してくれる。主な原因にはキーワードの誤用、セミコロン忘れ、クォート […]
このエラーは、指定した列名が存在しない場合に発生する。大文字小文字の扱いや、スキーマの指定漏れ、JOIN時の曖昧な列名、動的SQLなど、原因は多岐にわたる。クエリの記述ミスだけでなく、PostgreSQL特有の仕様によるものも多いため、構造を正しく理解することが重要になる。 エラーの基本構文と発生条 […]