Re: search_path for replica-mode

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.

In response to

Responses

Browse pgsql-general by date

  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