Re: CREATE FOREIGN TABLE ( ... LIKE ... ) - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: CREATE FOREIGN TABLE ( ... LIKE ... )
Date
Msg-id CAB7nPqRX-6P5+iy-mktnP_Mk0_ThVcCxseYcp1C+QFvSEgL8Nw@mail.gmail.com
Whole thread Raw
In response to Re: CREATE FOREIGN TABLE ( ... LIKE ... )  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: CREATE FOREIGN TABLE ( ... LIKE ... )
List pgsql-hackers
On Tue, Apr 8, 2014 at 5:24 AM, Andres Freund <andres@2ndquadrant.com> wrote:
> On 2014-04-05 11:46:16 -0400, Tom Lane wrote:
>> ISTM this is because the proposed feature is wrongheaded.  The basic
>> concept of CREATE TABLE LIKE is that you're copying properties from
>> another object of the same type.  You might or might not want every
>> property, but there's no question of whether you *could* copy every
>> property.  In contrast, what this is proposing to do is copy properties
>> from (what might be) a plain table to a foreign table, and those things
>> aren't even remotely the same kind of object.
>>
>> It would make sense to me to restrict LIKE to copy from another foreign
>> table, and then there would be a different set of INCLUDING/EXCLUDING
>> options that would be relevant (options yes, indexes no, for example).
>
> I actually think it's quite useful to create a foreign table that's the
> same shape as a local table. And the patches approach of refusing to
> copy thinks that aren't supported sounds sane to me.
This could be improved as well: it would be useful to be able to copy
the column options of another foreign table.

> Consider e.g. moving off older partitioned data off to an archiving
> server. New local partitions are often created using CREATE TABLE LIKE,
> but that's not possible for the foreign ones.
Definitely a use case.
-- 
Michael



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: B-Tree support function number 3 (strxfrm() optimization)
Next
From: Tom Lane
Date:
Subject: Re: Why is it not sane to pass ExecStoreTuple(shouldFree=true) for tuples point into buffers