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.k...@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.go4...@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
>
>
>

Reply via email to