Re: [BUGS] Error of insert Foreign table with postgres_fdw - Mailing list pgsql-bugs

From Jaimin Pan
Subject Re: [BUGS] Error of insert Foreign table with postgres_fdw
Date
Msg-id CABP8UDRTyZwYcT0bmQVvrhqZwUazUaatvSF83z=15u2WXmpPKg@mail.gmail.com
Whole thread Raw
In response to Re: [BUGS] Error of insert Foreign table with postgres_fdw  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Thanks Tom. Add the schema "public" in trigger solve my question.

2017-08-07 21:19 GMT+08:00 Tom Lane <tgl@sss.pgh.pa.us>:
Jaimin Pan <jaimin.pan@gmail.com> writes:
> I got error when insert a parent table by inserting a foreign table.
> ...
> (create trigger "phone_pool_insert_trigger" for phone_pool and insert into
> phone_pool works well. The child table got the row.)

> when insert into phone_pool_foreign. I got error like following.
> ERROR:  relation "ph_90" does not exist
> CONTEXT:  Remote SQL command: INSERT INTO public. phone_pool_foreign(id,
> patrition, phone, carrier, createtime, updatetime, deleteflg) VALUES ($1,
> $2, $3, $4, $5, $6, $7)
> PL/pgSQL function public.phone_pool_insert_trigger() line 93 at SQL
> statement
> """

You didn't show us either the whole trigger or the failing statement in
it, but I bet you forgot to schema-qualify the child table names.
postgres_fdw runs the remote session with a very restrictive search_path,
just pg_catalog if memory serves.  It's generally bad practice for
triggers to rely on the prevailing search path in any case.

                        regards, tom lane

pgsql-bugs by date:

Previous
From: Scott Milliken
Date:
Subject: Re: [BUGS] BUG #14769: Logical replication error "cache lookup failedfor type 0"
Next
From: Hillel Eilat
Date:
Subject: Re: [BUGS] BUG #14771: "Logical decoding" does not cover the impactof "TRUNCATE TABLE" command