Every error, explained
SQLSTATE codes, condition names, root causes, diagnostic queries, and recovery steps — structured for engineers running PostgreSQL in production.
Showing 240 of 578 errors
25006
ERROR
Read Only Sql Transaction — SQLSTATE 25006
read_only_sql_transaction
A write was attempted in a read-only transaction or on a read-only server.
25007
ERROR
Schema And Data Statement Mixing Not Supported — SQLSTATE 25007
schema_and_data_statement_mixing_not_supported
SQLSTATE 25007 (schema_and_data_statement_mixing_not_supported): A command is not valid in the current transaction state.
25008
ERROR
Held Cursor Requires Same Isolation Level — SQLSTATE 25008
held_cursor_requires_same_isolation_level
SQLSTATE 25008 (held_cursor_requires_same_isolation_level): A command is not valid in the current transaction state.
25P01
ERROR
RELEASE SAVEPOINT can only be used in transaction blocks — 25P01
no_active_sql_transaction
PostgreSQL error "RELEASE SAVEPOINT can only be used in transaction blocks" (SQLSTATE 25P01): what it means, common causes, and how to fix it.
25P01
ERROR
SAVEPOINT can only be used in transaction blocks — 25P01
no_active_sql_transaction
PostgreSQL error "SAVEPOINT can only be used in transaction blocks" (SQLSTATE 25P01): what it means, common causes, and how to fix it.
25P01
WARNING
there is no transaction in progress — 25P01
no_active_sql_transaction
PostgreSQL error "there is no transaction in progress — 25P01" (SQLSTATE 25P01): what it means, common causes, and how to fix it.
25P01
ERROR
No Active Sql Transaction — SQLSTATE 25P01
no_active_sql_transaction
SQLSTATE 25P01 (no_active_sql_transaction): A command is not valid in the current transaction state.
25P02
ERROR
current transaction is aborted, commands ignored until end of transaction block — 25P02
in_failed_sql_transaction
PostgreSQL error "current transaction is aborted, commands ignored until end of transaction block" (SQLSTATE 25P02): what it means, common causes, and h...
25P02
ERROR
current transaction is aborted, commands ignored until end of transaction block — 25P02
in_failed_sql_transaction
PostgreSQL error "current transaction is aborted, commands ignored until end of transaction block — 25P02" (SQLSTATE 25P02): what it means, common causes, and how to fix it.
25P02
ERROR
In Failed Sql Transaction — SQLSTATE 25P02
in_failed_sql_transaction
The transaction is aborted; all further commands are ignored until it ends.
25P03
FATAL
terminating connection due to idle-in-transaction timeout — 25P03
idle_in_transaction_session_timeout
PostgreSQL error "terminating connection due to idle-in-transaction timeout" (SQLSTATE 25P03): what it means, common causes, and how to fix it.
25P03
ERROR
Idle In Transaction Session Timeout — SQLSTATE 25P03
idle_in_transaction_session_timeout
A session sat idle inside an open transaction too long and was terminated.
25P03
FATAL
terminating connection due to idle-in-transaction timeout — 25P03
idle_in_transaction_session_timeout
PostgreSQL error "terminating connection due to idle-in-transaction timeout — 25P03" (SQLSTATE 25P03): what it means, common causes, and how to fix it.
25P04
ERROR
canceling statement due to transaction timeout — 25P04
idle_in_transaction_session_timeout
PostgreSQL error "canceling statement due to transaction timeout — 25P04" (SQLSTATE 25P04): what it means, common causes, and how to fix it.
25P04
ERROR
Transaction Timeout — SQLSTATE 25P04
transaction_timeout
A transaction exceeded transaction_timeout and was aborted (PostgreSQL 17+).
26000
ERROR
prepared statement “…” does not exist — 26000
invalid_sql_statement_name
PostgreSQL error "prepared statement … does not exist — 26000" (SQLSTATE 26000): what it means, common causes, and how to fix it.
26000
ERROR
Invalid Sql Statement Name — SQLSTATE 26000
invalid_sql_statement_name
A prepared statement name does not exist on the server.
26000
ERROR
prepared statement “…” does not exist — 26000
invalid_sql_statement_name
PostgreSQL error "prepared statement "…" does not exist" (SQLSTATE 26000): what it means, common causes, and how to fix it.
27000
ERROR
Triggered Data Change Violation — SQLSTATE 27000
triggered_data_change_violation
SQLSTATE 27000 (triggered_data_change_violation): A trigger attempted an illegal data change.
28000
FATAL
no pg_hba.conf entry for replication connection from host “…” — 28000
invalid_authorization_specification
PostgreSQL error "no pg_hba.conf entry for replication connection from host … — 28000" (SQLSTATE 28000): what it means, common causes, and how to fix it.
28000
FATAL
role “…” is not permitted to log in — 28000
invalid_authorization_specification
PostgreSQL error "role … is not permitted to log in — 28000" (SQLSTATE 28000): what it means, common causes, and how to fix it.
28000
FATAL
Ident authentication failed for user “…” — 28000
invalid_authorization_specification
PostgreSQL error "Ident authentication failed for user … — 28000" (SQLSTATE 28000): what it means, common causes, and how to fix it.
28000
FATAL
no PostgreSQL user name specified in startup packet — 28000
invalid_authorization_specification
PostgreSQL error "no PostgreSQL user name specified in startup packet — 28000" (SQLSTATE 28000): what it means, common causes, and how to fix it.
28000
ERROR
Invalid Authorization Specification — SQLSTATE 28000
invalid_authorization_specification
The authorization specification is invalid (authentication failure).