The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/16/plpgsql-control-structures.html Description:
In https://www.postgresql.org/docs/16/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING handler_statements are documented as optional. However, the following example shows that handler_statements can be omitted. drop table if exists t; create table t (id integer not null primary key); do $$ begin insert into t (id) values (1), (1); exception when unique_violation then -- ignore without calling null statement end $$; I stumbled over it when running the example documented in https://www.postgresql.org/docs/current/plpgsql-trigger.html#PLPGSQL-TRIGGER-SUMMARY-EXAMPLE - it also contains an exception handler without handler statements.