unsafe use of new value “…” of enum type …

SQLSTATE 55P04 condition unsafe_new_enum_value_usage 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 26 May 2026 · Reproduced live with the SQL on this page.

Symptoms

A statement failed with SQLSTATE 55P04 (unsafe_new_enum_value_usage), reported at severity ERROR. This is a Object Not In Prerequisite State condition: PostgreSQL emits the message unsafe use of new value "…" of enum type ….

What the server log shows

ERROR:  unsafe use of new value "…" of enum type …
HINT:  New enum values must be committed before they can be used.

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 55P04 carries the condition name unsafe_new_enum_value_usage 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.