On Thu, Feb 22, 2024 at 5:06 PM Erik Wienhold <ewie@xxxxxxxxx> wrote:
On 2024-02-22 22:14 +0100, Vick Khera wrote:
> 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.
You may also try the equivalent CASE _expression_ in the WHEN clause.
https://wiki.postgresql.org/wiki/Is_distinct_from#Writing_with_CASE_statements
Nice. It makes for a big ugly trigger statement, but probably my better choice. I was considering doing this but didn't want to risk making my own interpretation.