function can only be called when server is in binary upgrade mode

SQLSTATE 55P02 condition cant_change_runtime_param class 55 — Object Not In Prerequisite State severity ERROR
Reproduced & verified on PostgreSQL 14.23, 15.18, 16.14, 17.10 and 18.4 — identical message on every version.
Last reviewed 29 May 2026 · Reproduced live with the SQL on this page.

Symptoms

A statement failed with SQLSTATE 55P02 (cant_change_runtime_param), reported at severity ERROR. This is a Object Not In Prerequisite State condition: PostgreSQL emits the message function can only be called when server is in binary upgrade mode.

What the server log shows

ERROR:  function can only be called when server is in binary upgrade mode

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 55P02 carries the condition name cant_change_runtime_param in class Object Not In Prerequisite State. (Paraphrased — see the linked reference for the exact wording.)

Common causes

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.