From: | <david(dot)sahagian(at)emc(dot)com> |
---|---|
To: | <magnus(at)hagander(dot)net> |
Cc: | <pgsql-docs(at)postgresql(dot)org> |
Subject: | Re: CREATE TABLE LIKE, regarding constraints |
Date: | 2012-01-02 14:32:39 |
Message-ID: | F3CBFBA88397EA498B22A05FFA9EC49D60A412F0@MX22A.corp.emc.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-docs |
-----Original Message-----
From: Magnus Hagander [mailto:magnus(at)hagander(dot)net]
Sent: Saturday, December 31, 2011 7:42 AM
To: Sahagian, David
Cc: pgsql-docs(at)postgresql(dot)org
Subject: Re: [DOCS] CREATE TABLE LIKE, regarding constraints
On Fri, Dec 30, 2011 at 22:27, <david(dot)sahagian(at)emc(dot)com> wrote:
> www.postgresql.org/docs/9.0/static/sql-createtable.html
> == == == == ==
> LIKE parent_table [ like_option ... ]
> . . .
> Not-null constraints are always copied to the new table.
> CHECK constraints will only be copied if INCLUDING CONSTRAINTS is specified; other types of constraints will never be copied.
> . . .
> == == == == ==
>
> But I do see PK and UNIQUE constraints
> CONSTRAINT blah_pkey PRIMARY KEY (id),
> CONSTRAINT blah_host_id_key UNIQUE (host_id)
> in the def of the new table.
Can you provide the commands you ran to make that happen? It doesn't
happen for me in a trivial test.
> Also, why is there no discussion of what "EXCLUDING CONSTRAINTS" will result in ?
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
Magnus,
I did some more "testing" of CREATE TABLE LIKE,
and now see that [INCLUDING INDEXES] also can cause PRIMARY KEY and UNIQUE constraints to become part of the new table.
++++++++++++++
CREATE TABLE yesConstr_noIndex_tbl (
like mytbl
INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING STORAGE
);
++++++++++++++
no PRIMARY KEY
no UNIQUE
no indexes
++++++++++++++
CREATE TABLE noConstr_yesIndex_tbl (
like mytbl
INCLUDING DEFAULTS INCLUDING INDEXES INCLUDING STORAGE
);
++++++++++++++
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "mytbl_pkey" for table "mytbl"
NOTICE: CREATE TABLE / UNIQUE will create implicit index "mytbl_host_id_key" for table "mytbl"
CONSTRAINT mytbl_pkey PRIMARY KEY (id),
CONSTRAINT mytbl_host_id_key UNIQUE (host_id)
and 2 unrelated indexes: (a_diff_col) (yet_a_diff_col)
I have no problem with this behavior,
but the doc probably deserves some clarification on the "relationship" between
[INCLUDING CONSTRAINTS] and [INCLUDING INDEXES].
Thanks,
-dvs-
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2012-01-02 19:31:43 | Re: CREATE TABLE LIKE, regarding constraints |
Previous Message | Magnus Hagander | 2011-12-31 12:42:12 | Re: CREATE TABLE LIKE, regarding constraints |