Clarification regarding CREATE TABLE LIKE and FOREIGN KEYS
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/16/sql-createtable.html
Description:
It is not clear to me that foreign keys are copied or not when duplicating a
table using CREATE TABLE ... LIKE ... INCLUDING ALL. I had to actually test
to check what it does.
On Mon, Nov 27, 2023, at 12:05 PM, PG Doc comments form wrote:
It is not clear to me that foreign keys are copied or not when duplicating a
table using CREATE TABLE ... LIKE ... INCLUDING ALL. I had to actually test
to check what it does.
It is impractical to add what a feature *does not* provide in general. The
probability that that information will be obsolete (due to new features) is
high. If the information is missing that's because it is not supported. (Of
course, it can be an omission and, in this case, we need to fix it.)
--
Euler Taveira
EDB https://www.enterprisedb.com/
Le mer. 29 nov. 2023 à 16:24, Euler Taveira <euler@eulerto.com> a écrit :
On Mon, Nov 27, 2023, at 12:05 PM, PG Doc comments form wrote:
It is not clear to me that foreign keys are copied or not when duplicating
a
table using CREATE TABLE ... LIKE ... INCLUDING ALL. I had to actually
test
to check what it does.It is impractical to add what a feature *does not* provide in general. The
probability that that information will be obsolete (due to new features)
is
high. If the information is missing that's because it is not supported.
(Of
course, it can be an omission and, in this case, we need to fix it.)
"INCLUDING ALL" leads people to believe *everything* is copied.
The fact that it doesn't seem counter intuitive, at least to me.
Therefore, it doesn't seem absurd to me to warn people about what is not
copied.
I wrote the original message hoping to help improve the documentation. I
could write a draft if I'm allowed to.
I do believe that clarifying this point improves the documentation. If
there's a consensus that it doesn't, my apologies for the annoyance.
Cheers.
On Fri, Dec 1, 2023 at 7:07 AM David Virebayre <david@robbez.com> wrote:
"INCLUDING ALL" leads people to believe *everything* is copied.
The fact that it doesn't seem counter intuitive, at least to me.
Therefore, it doesn't seem absurd to me to warn people about what is not
copied.I wrote the original message hoping to help improve the documentation. I
could write a draft if I'm allowed to.
I do believe that clarifying this point improves the documentation. If
there's a consensus that it doesn't, my apologies for the annoyance.
You are welcome to suggest improvements. But "all" means inclusive of
every individual item listed on that page. You don't get stuff in "all"
that you cannot specify individually and you cannot specify references
clauses individually.
David J.