From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | André Kutepow <a(dot)kutepow(at)prodat-sql(dot)de> |
Cc: | "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: search_path for replica-mode |
Date: | 2023-07-10 13:11:11 |
Message-ID: | CAKFQuwZtTwMrus2+8_5J-ReLckyH4LSnwtHCcLR1UrRK8YxNOg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Monday, July 10, 2023, André Kutepow <a(dot)kutepow(at)prodat-sql(dot)de> wrote:
> There is a trigger in the database
>
> SET search_path TO "$user", public;
>
> CREATE OR REPLACE FUNCTION art__a_iu_func()
> BEGIN
> INSERT INTO table_z... --*»table_z« is in schema public*
> END;
>
> CREATE OR REPLACE TRIGGER art__a_iu
> AFTER INSERT OR UPDATE OF ak_nr
> ON art
> FOR EACH ROW
> EXECUTE FUNCTION art__a_iu_func();
>
> In a regular trigger, it works great!
> But, if I announce it, as:
>
> ALTER TABLE art ENABLE REPLICA TRIGGER art__a_iu;
> then I get an error:
>
> *FEHLER: Relation »table_z« existiert nicht bei Zeichen xxx*
>
>
> *ANFRAGE: INSERT INTO table_z... *why does'nt work the search_path for
> replica-mode?
> is it made specifically or is it a bug?
> How else can I set the search_path for replica-mode?
>
>
Relying on external search_path for system executed objects is
problematic. Don’t do it. Either attach a SET to the function or
schema-qualify references.
David J.
From | Date | Subject | |
---|---|---|---|
Next Message | Ted Toth | 2023-07-10 14:18:32 | what causes new temp schemas to be created |
Previous Message | André Kutepow | 2023-07-10 10:21:22 | search_path for replica-mode |