Clarification regarding CREATE TABLE LIKE and FOREIGN KEYS

Started by PG Bug reporting formover 2 years ago4 messagesdocs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

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.

#2Euler Taveira
euler@eulerto.com
In reply to: PG Bug reporting form (#1)
Re: Clarification regarding CREATE TABLE LIKE and FOREIGN KEYS

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/

#3David Virebayre
david@robbez.com
In reply to: Euler Taveira (#2)
Re: Clarification regarding CREATE TABLE LIKE and FOREIGN KEYS

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.

#4David G. Johnston
david.g.johnston@gmail.com
In reply to: David Virebayre (#3)
Re: Clarification regarding CREATE TABLE LIKE and FOREIGN KEYS

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.