Inserting into foreign table with sequences and default values - Mailing list pgsql-general

From peter.borissow@kartographia.com
Subject Inserting into foreign table with sequences and default values
Date
Msg-id 1702058638.91064408@apps.rackspace.com
Whole thread Raw
Responses Re: Inserting into foreign table with sequences and default values
List pgsql-general

Hello,

   I have a few questions inserting data using Foreign Data Wrappers (FDW). Consider this simple example.

 

On PostgreSQL Database A (remote):

CREATE TABLE APP.TEST (
    ID BIGSERIAL NOT NULL,
    FIRST_NAME text,
    LAST_NAME text,
    STATUS integer NOT NULL DEFAULT 1,
    CONSTRAINT PK_USER PRIMARY KEY (ID)
);

 

When I connect directly to this database I can insert without any issues. Example:


insert into app.test(first_name) values('Peter');
INSERT 0 1

-------

 

On PostgreSQL Database B (local):

CREATE SERVER remote_server FOREIGN DATA WRAPPER postgres_fdw ...
IMPORT FOREIGN SCHEMA APP LIMIT TO (TEST)
    FROM SERVER remote_server INTO public;

-------

 

When I try to do a simple insert into the test table on database B I get an error:

 

insert into test(first_name) values('Mark');

ERROR:  null value in column "id" of relation "test" violates not-null constraint

 

If I manually set the id, I get another error

 

insert into "user"(id, first_name) values(2, 'Mark');

ERROR:  null value in column "status" of relation "test" violates not-null constraint

 

Only after I set both the id and status fields can I successfully insert.

 

insert into test(id, first_name, status) values(2, 'Mark', 1);
INSERT 0 1

 

I guess the FDW is not "seeing" the default value for status and the bigserial sequence for the id column. Is there anyway around this? Is there an option I missed when I called IMPORT FOREIGN SCHEMA? Or is there a hack using views or triggers?

 

Thanks in advance,

Peter

 

 

 

 

pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: running \copy through perl dbi ?
Next
From: Vincent Veyron
Date:
Subject: Re: running \copy through perl dbi ?