RAISE without parameters cannot be used outside an exception handler
Symptoms
A statement failed with SQLSTATE 0Z002 (stacked_diagnostics_accessed_without_active_handler), reported at severity ERROR. This is a Diagnostics Exception condition: PostgreSQL emits the message RAISE without parameters cannot be used outside an exception handler.
- The client receives SQLSTATE
0Z002(stacked diagnostics accessed without active handler). - The operation is rejected at
ERRORlevel; the statement does not complete.
What the server log shows
ERROR: RAISE without parameters cannot be used outside an exception handler
Why PostgreSQL raises this
PostgreSQL raises this error from the area indicated by its SQLSTATE class. The condition name pinpoints the specific rule that was violated.
As described in PostgreSQL’s Appendix A PostgreSQL Error Codes, SQLSTATE 0Z002 carries the condition name stacked_diagnostics_accessed_without_active_handler in class Diagnostics Exception. (Paraphrased — see the linked reference for the exact wording.)
Common causes
- The operation violated the rule named by this SQLSTATE condition.
- An input, object, or state did not satisfy a precondition.
How to fix it
- Use the SQLSTATE condition name to identify the exact rule.
- Correct the offending input, object, or state and retry.
- See the linked full SQLSTATE reference for detailed guidance.
Version applicability
This message is present in PostgreSQL 15, 16, 17, 18 and 19.
Related & next steps
Reference: PostgreSQL Appendix A PostgreSQL Error Codes.