On Wed, Feb 21, 2024 at 4:27 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
For the moment, I think the only feasible solution is for your trigger
function to set the search path it needs by adding a "SET search_path
= whatever" clause to the function's CREATE command.
The error is not in the function, it is the WHEN clause of the trigger. There's no way to set a search path on the trigger as far as I see.
The only option I see is to remove the WHEN clause on the trigger and wrap my function with an IF with those same conditions. I hope this will not result in any noticeable difference in speed.
It is rather unfortunate that one can end up with a schema that a backup with pg_dump cannot be restored. Feel free to keep my example for regression testing when postgres does grow the ability to schema-qualify such operators.