Re: Option to dump foreign data in pg_dump - Mailing list pgsql-hackers

From Luis Carril
Subject Re: Option to dump foreign data in pg_dump
Date
Msg-id LEXPR01MB107278D18559745472696584E7840@LEXPR01MB1072.DEUPRD01.PROD.OUTLOOK.DE
Whole thread Raw
In response to Re: Option to dump foreign data in pg_dump  (Surafel Temesgen <surafel3000@gmail.com>)
List pgsql-hackers

On Fri, Sep 20, 2019 at 6:20 PM Luis Carril <luis.carril@swarm64.com> wrote:
Hello,
   thanks for the comments!

* + if (tdinfo->filtercond || tbinfo->relkind == RELKIND_FOREIGN_TABLE)

filter condition is not implemented completely yet so the logic only work on foreign table so I think its better to handle it separately

Note that there is another if condition that actually applies the the filtercondition if provided, also for a we need to do a COPY SELECT instead of a COPY TO

but we can't supplied where clause in pg_dump yet so filtercondtion is always NULL and the logic became true only on foreign table.

* I don’t understand the need for changing SELECT query .we can use the same SELECT query syntax for both regular table and foreign table

To which query do you refer? In the patch there are three queries: 1 retrieves foreign servers, another is the SELECT in the COPY that now it applies in case of a filter condition of a foreign table, and a third that retrieves the oid of a given foreign server.


SELECT on COPY  

regards
Surafel
If we have a non-foreign table and filtercond is NULL, then we can do a `COPY table columns TO stdout`.
But if the table is foreign, the `COPY foreign-table columns TO stdout` is not supported by Postgres, so we have to do a `COPY (SELECT columns FROM foreign-table) TO sdout`

Now if in any case the filtercond is non-NULL, ie we have a WHERE clause, then for non-foreign and foreign tables we have to do a:
`COPY (SELECT columns FROM table) TO sdout`

So the COPY of a foreign table has to be done using the sub-SELECT just as a non-foreign table with filtercond, not like a non-foreign table without filtercond.

Cheers

Luis M Carril


pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: PostgreSQL12 and older versions of OpenSSL
Next
From: Victor Wagner
Date:
Subject: Re: PostgreSQL12 and older versions of OpenSSL