SQLSTATE 57P03 WARNING Class 57: Operator Intervention

cannot_connect_now requested checkpoint not completed because recovery is still in progress — 57P03

PostgreSQL error “requested checkpoint not completed because recovery is still in progress — 57P03” (SQLSTATE 57P03): what it means, common causes, and how to fix it.

PG 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18 Official docs
Last reviewed Jun 2026 Grounded in source

Diagnostic Queries

Symptoms

A requested checkpoint did not complete because the server is still performing crash or archive recovery. PostgreSQL reports SQLSTATE 57P03 (cannot_connect_now) context for the unavailable operation.

  • A checkpoint was requested during recovery.
  • The server isn’t fully available yet.
  • Common shortly after a restart/crash.

What the server log shows

ERROR:  requested checkpoint not completed because recovery is still in progress

Why PostgreSQL raises this — what the manual says

Section 30.5 WAL Configuration:

“Restartpoints can’t be performed more frequently than checkpoints on the primary because restartpoints can only be performed at checkpoint records.”

While replaying WAL (crash/archive/standby recovery), the server isn’t fully operational and cannot service an on-demand checkpoint the normal way. The request can’t complete until recovery finishes, so PostgreSQL reports it under 57P03.

Common causes

  • Issuing CHECKPOINT before recovery has finished.
  • Connecting right after a crash/restart while WAL replay continues.
  • A standby still in continuous recovery.

How to fix it

  1. Wait for recovery to complete, then retry the checkpoint.
  2. Monitor recovery progress with pg_stat_recovery_prefetch/server logs.
  3. On a standby, this is expected — checkpoints are managed by the recovery process.

Related & next steps

Reference: PostgreSQL 18 Section 30.5 “WAL Configuration”.

Was this helpful?