The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/18/release-18.html Description:
Commit 086c84b23 changed what a foreign key with ON DELETE RESTRICT or ON UPDATE RESTRICT raises when it refuses a change: SQLSTATE 23001 (restrict_violation) instead of 23503 (foreign_key_violation), and the message now says "violates RESTRICT setting of foreign key constraint". The PostgreSQL 18 release notes do not mention it. Code that catches 23503 to report that a row is still referenced stops matching RESTRICT keys after upgrading, while NO ACTION keys still raise 23503. The same notes list the change to the XML error codes (cd838e200), so this one seems to belong there as well.
