Re: postgres_fdw foreign keys with default sequence - Mailing list pgsql-hackers

From Tim Kane
Subject Re: postgres_fdw foreign keys with default sequence
Date
Msg-id CADVWZZLiPONH71xgNEk32G2c8Uqxgebp7KyzHu5U2ASZ_2tOCg@mail.gmail.com
Whole thread Raw
In response to postgres_fdw foreign keys with default sequence  (Tim Kane <tim.kane@gmail.com>)
Responses Re: postgres_fdw foreign keys with default sequence
List pgsql-hackers
Slight typo on my local host example there.  s/clone/local/
More like the below:


CREATE FOREIGN TABLE IF NOT EXISTS live.devices (
         device_id  bigint NOT NULL
 );

CREATE MATERIALISED VIEW local.devices;

CREATE test_table (device_id bigint FOREIGN KEY (device_id) REFERENCES local.devices (device_id) );


ERROR:  referenced relation "devices" is not a table

On Tue, Feb 17, 2015 at 1:08 PM, Tim Kane <tim.kane@gmail.com> wrote:
Hi all,

Not sure if this has been reported already, it seems to be a variation on this thread:
   http://www.postgresql.org/message-id/20130515151059.GO4361@tamriel.snowman.net


One minor difference is, in my scenario - my source table field is defined as BIGINT (not serial) - though it does have a default nextval on a sequence, so ultimately - the same dependence.

The primary difference (IMHO), is that I am actually foreign keying on a local materialised view of the fdw'ed foreign table.



On the foreign host:
                              Table "live.devices"
   Column   |  Type  |                         Modifiers
------------+--------+-----------------------------------------------------------
 device_id  | bigint | not null default nextval('devices_id_sequence'::regclass)



On the local host:


CREATE FOREIGN TABLE IF NOT EXISTS live.devices (
         device_id  bigint NOT NULL
 );

CREATE MATERIALISED VIEW local.devices;

CREATE test_table (device_id bigint FOREIGN KEY (device_id) REFERENCES clone.devices (device_id) );


ERROR:  referenced relation "devices" is not a table



Though this is a similar scenario to the previous thread, I would have expected foreign keying from a materialised view to behave independently of the FDW, as if from a regular local table.

FYI, I'm running postgresql 9.3.4

Cheers,

Tim



pgsql-hackers by date:

Previous
From: Tim Kane
Date:
Subject: postgres_fdw foreign keys with default sequence
Next
From: Alexander Korotkov
Date:
Subject: Re: KNN-GiST with recheck