SQLSTATE 55000 ERROR Class 55: Object Not In Prerequisite State

object_not_in_prerequisite_state WAL level not sufficient for making an online backup — 55000

PostgreSQL error “WAL level not sufficient for making an online backup” (SQLSTATE 55000, object_not_in_prerequisite_state): what it means, common causes, and how to fix it.

PG 15, 16, 17, 18, 19 Official docs
Last reviewed May 2026 Grounded in source
Production impact High Competency Locking & Concurrency Career Survive on-call independently Frequency Common

Investigation

Symptoms

A statement failed with SQLSTATE 55000 (object_not_in_prerequisite_state), reported at severity ERROR. This is a Object Not In Prerequisite State condition: PostgreSQL emits the message WAL level not sufficient for making an online backup.

  • The client receives SQLSTATE 55000 (object not in prerequisite state).
  • The operation is rejected at ERROR level; the statement does not complete.

What the server log shows

ERROR:  WAL level not sufficient for making an online backup
HINT:  "wal_level" must be set to "replica" or "logical" at server start.

Why PostgreSQL raises this

Class 55 (Object Not In Prerequisite State) is raised when an object exists but is not in a state that allows the requested operation right now.

As described in PostgreSQL’s Appendix A PostgreSQL Error Codes, SQLSTATE 55000 carries the condition name object_not_in_prerequisite_state in class Object Not In Prerequisite State. (Paraphrased — see the linked reference for the exact wording.)

Common causes

  • The object is locked, in use, or being modified by another session.
  • A required precondition (e.g. an index, a prepared state) is not met.
  • The operation cannot run while the object is in its current state.

How to fix it

  1. Wait for the conflicting session/operation to finish, then retry.
  2. Establish the missing precondition before retrying.
  3. Check for blocking locks with pg_locks.

Version applicability

This message is present in PostgreSQL 15, 16, 17, 18 and 19.

Related & next steps

Reference: PostgreSQL Appendix A PostgreSQL Error Codes.

Keep going

Related & next steps

Concepts on this page

Was this helpful?