Re: BUG #19064: Trigger allows creation with invalid column references but fails at runtime

Rahila Syed <rahilasyed90@gmail.com>

From: Rahila Syed <rahilasyed90@gmail.com>
To: ketan.bhatiya@lenditt.com, pgsql-bugs@lists.postgresql.org
Date: 2025-09-26T12:59:45Z
Lists: pgsql-bugs
Hi



> Suggestion / Proposed Improvement
> PostgreSQL should validate column references at trigger creation time, not
> just at runtime.
> If a column does not exist in the target table (Orders in this example),
> trigger creation should fail immediately with a clear error message.
>
>
This behaviour is by design in PostgreSQL. The CreateTrigger() is
responsible
for creating a dependency between trigger and its underlying pl/pgsql
function.
The pl/pgsql function is only parsed when it is executed for the first time.

This approach allows for flexibility, such as adding columns to a table
after a trigger
has been created. On the other hand, if a column existing at the time of
trigger creation
is later removed, validating at creation time would not offer much
advantage in these
situations.

Thank you,
Rahila Syed