From: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
---|---|
To: | Vik Fearing <vik(at)postgresfriends(dot)org>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers(at)postgresql(dot)org, Jacob Champion <pchampion(at)vmware(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Ashwin Agrawal <aagrawal(at)pivotal(dot)io>, Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Subject: | Re: create table like: ACCESS METHOD |
Date: | 2021-09-09 12:30:51 |
Message-ID: | 8b530d40-1e85-e3b4-774f-b9cb4e2b7ca2@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 27.08.21 12:37, Vik Fearing wrote:
> It seems like this should error to me:
>
> CREATE ACCESS METHOD heapdup TYPE TABLE HANDLER heap_tableam_handler;
> CREATE TABLE likeam1() USING heap;
> CREATE TABLE likeam2() USING heapdup;
> CREATE TABLE likeamlike(
> LIKE likeam1 INCLUDING ACCESS METHOD,
> LIKE likeam2 INCLUDING ACCESS METHOD
> );
>
> At the very least, the documentation should say that the last one wins.
Hmm. The problem is that the LIKE clause is really a macro that expands
to the column definitions of the other table. So there is, so far, no
such as thing as two LIKE clauses contradicting. Whereas the access
method is a table property. So I don't think this syntax is the right
approach for this feature.
You might think about something like
CREATE TABLE t2 (...) USING (LIKE t1);
At least in terms of how the syntax should be structured.
From | Date | Subject | |
---|---|---|---|
Next Message | kuroda.hayato@fujitsu.com | 2021-09-09 12:36:16 | RE: Allow escape in application_name |
Previous Message | Andrew Dunstan | 2021-09-09 12:30:29 | Re: drop tablespace failed when location contains .. on win32 |