PostgreSQL Error Reference

Every error, explained

SQLSTATE codes, condition names, root causes, diagnostic queries, and recovery steps — structured for engineers running PostgreSQL in production.

578 errors documentedFree diagnostics on every pageAll PG versions covered

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.

Invalid Transaction State
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.

Invalid 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.

Invalid 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.

Invalid Transaction State
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.

Invalid Transaction State
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.

Invalid Transaction State
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.

Invalid 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...

Invalid 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 — 25P02" (SQLSTATE 25P02): what it means, common causes, and how to fix it.

Invalid Transaction State
25P02 ERROR

In Failed Sql Transaction — SQLSTATE 25P02

in_failed_sql_transaction

The transaction is aborted; all further commands are ignored until it ends.

Invalid Transaction State
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.

Invalid Transaction State
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.

Invalid Transaction State
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.

Invalid Transaction State
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.

Invalid Transaction State
25P04 ERROR

Transaction Timeout — SQLSTATE 25P04

transaction_timeout

A transaction exceeded transaction_timeout and was aborted (PostgreSQL 17+).

Invalid Transaction State
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.

Invalid SQL Statement Name
26000 ERROR

Invalid Sql Statement Name — SQLSTATE 26000

invalid_sql_statement_name

A prepared statement name does not exist on the server.

Invalid SQL Statement Name
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.

Invalid SQL Statement Name
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.

Triggered Data Change Violation
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.

Invalid Authorization Specification
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.

Invalid Authorization Specification
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.

Invalid Authorization Specification
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.

Invalid Authorization Specification
28000 ERROR

Invalid Authorization Specification — SQLSTATE 28000

invalid_authorization_specification

The authorization specification is invalid (authentication failure).

Invalid Authorization Specification