fOn Thu, Jul 14, 2022 at 06:47:19PM -0700, David G. Johnston wrote: > Not only is the existing table not modified, I think that the select query > portion of the command is never even executed. That would seem to be useful > knowledge to have. > > Maybe something like: > > <para> > Do not throw an error if a relation with the same name already exists. > A notice is issued in this case. > If <literal>WITH DATA</literal> is specified (the default) the execution of > the parsed query does not happen, leaving the existing table with its existing > contents. > </para>
I tried to go in that direction, but couldn't clearly name the SELECT/VALUES part of the CREATE TABLE AS query because CREATE TABLE AS is also a query. I felt trying to say we ran the CREATE TABLE AS query but not the SELECT/VALUES of the query was just too confusing. I used "simply issue a notice" as implying that nothing else happens, which I considered sufficient. > > I've removed the xref to create table as there is nothing additional there of > material benefit - the sentence: Okay, removed. Updated patch attached. -- Bruce Momjian <br...@momjian.us> https://momjian.us EDB https://enterprisedb.com Indecision is a decision. Inaction is an action. Mark Batterson
diff --git a/doc/src/sgml/ref/create_table_as.sgml b/doc/src/sgml/ref/create_table_as.sgml index 07558ab56c..8429333e3a 100644 --- a/doc/src/sgml/ref/create_table_as.sgml +++ b/doc/src/sgml/ref/create_table_as.sgml @@ -100,9 +100,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI <term><literal>IF NOT EXISTS</literal></term> <listitem> <para> - Do not throw an error if a relation with the same name already exists. - A notice is issued in this case. Refer to <xref linkend="sql-createtable"/> - for details. + Do not throw an error if a relation with the same name already + exists; simply issue a notice and leave the table unmodified. </para> </listitem> </varlistentry>