Hi Robert,
On Thu, Mar 7, 2024 at 10:49 PM Robert Treat <[email protected]> wrote:
> This patch adds a link to the "attach partition" command section
> (similar to the detach partition link above it) as well as a link to
> "create table like" as both commands contain additional information
> that users should review beyond what is laid out in this section.
> There's also a couple of wordsmiths in nearby areas to improve
> readability.
>
Thanks.
The patch gives error when building html
ddl.sgml:4300: element link: validity error : No declaration for attribute
linked of element link
<link linked="sql-createtable-parms-like"><literal>CREATE TABLE ...
LIKE</l
^
ddl.sgml:4300: element link: validity error : Element link does not carry
attribute linkend
nked="sql-createtable-parms-like"><literal>CREATE TABLE ...
LIKE</literal></link
^
make[1]: *** [Makefile:72: postgres-full.xml] Error 4
make[1]: *** Deleting file 'postgres-full.xml'
make[1]: Leaving directory
'/home/ashutosh/work/units/pg_review/coderoot/pg/doc/src/sgml'
make: *** [Makefile:8: html] Error 2
I have fixed in the attached.
- As an alternative, it is sometimes more convenient to create the
- new table outside the partition structure, and attach it as a
+ As an alternative, it is sometimes more convenient to create a
+ new table outside of the partition structure, and attach it as a
it uses article "the" for "new table" since it's referring to the partition
mentioned in the earlier example. I don't think using "a" is correct.
"outside" seems better than "outside of". See
https://english.stackexchange.com/questions/9700/outside-or-outside-of. But
I think the meaning of the sentence will be more clear if we rephrase it as
in the attached patch.
- convenient, as not only will the existing partitions become indexed,
but
- also any partitions that are created in the future will. One
limitation is
+ convenient as not only will the existing partitions become indexed,
but
+ any partitions created in the future will as well. One limitation is
I am finding the current construct hard to read. The comma is misplaced as
you have pointed out. The pair of commas break the "not only" ... "but
also" construct. I have tried to simplify the sentence in the attached.
Please review.
- the partitioned table; such an index is marked invalid, and the
partitions
- do not get the index applied automatically. The indexes on
partitions can
- be created individually using <literal>CONCURRENTLY</literal>, and
then
+ the partitioned table; such an index is marked invalid and the
partitions
+ do not get the index applied automatically. The partition indexes can
"indexes on partition" is clearer than "partition index". Fixed in the
attached patch.
Please review.
--
Best Wishes,
Ashutosh Bapat
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index 8616a8e9cc..043717136c 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -4283,18 +4283,20 @@ CREATE TABLE measurement_y2008m02 PARTITION OF measurement
TABLESPACE fasttablespace;
</programlisting>
- As an alternative, it is sometimes more convenient to create the
- new table outside the partition structure, and attach it as a
- partition later. This allows new data to be loaded, checked, and
- transformed prior to it appearing in the partitioned table.
- Moreover, the <literal>ATTACH PARTITION</literal> operation requires
- only <literal>SHARE UPDATE EXCLUSIVE</literal> lock on the
- partitioned table, as opposed to the <literal>ACCESS
- EXCLUSIVE</literal> lock that is required by <command>CREATE TABLE
- ... PARTITION OF</command>, so it is more friendly to concurrent
- operations on the partitioned table.
- The <literal>CREATE TABLE ... LIKE</literal> option is helpful
- to avoid tediously repeating the parent table's definition:
+ As an alternative, it is sometimes more convenient to create the partition
+ as a standalone new table, and attach it to the partitioned table later.
+ This allows new data to be loaded, checked, and transformed prior to it
+ appearing in the partitioned table. Moreover, the <literal>ATTACH
+ PARTITION</literal> operation requires only <literal>SHARE UPDATE
+ EXCLUSIVE</literal> lock on the partitioned table, as opposed to the
+ <literal>ACCESS EXCLUSIVE</literal> lock that is required by
+ <command>CREATE TABLE ... PARTITION OF</command>, so it is more friendly
+ to concurrent operations on the partitioned table; see <link
+ linkend="sql-altertable-attach-partition"><literal>ALTER TABLE ... ATTACH
+ PARTITION</literal></link> for additional details. The <link
+ linkend="sql-createtable-parms-like"><literal>CREATE TABLE ...
+ LIKE</literal></link> command can be helpful to avoid tediously repeating
+ the parent table's definition, for example:
<programlisting>
CREATE TABLE measurement_y2008m02
@@ -4345,16 +4347,14 @@ ALTER TABLE measurement ATTACH PARTITION measurement_y2008m02
<para>
As explained above, it is possible to create indexes on partitioned tables
- so that they are applied automatically to the entire hierarchy.
- This is very
- convenient, as not only will the existing partitions become indexed, but
- also any partitions that are created in the future will. One limitation is
+ so that they are applied automatically to the entire hierarchy. The operation of creating an index on a partitioned table also creates corresponding indexes on its partitions. Any new partition created in future also inherits the indexes on the partitioned table.
+ One limitation is
that it's not possible to use the <literal>CONCURRENTLY</literal>
qualifier when creating such a partitioned index. To avoid long lock
times, it is possible to use <command>CREATE INDEX ON ONLY</command>
- the partitioned table; such an index is marked invalid, and the partitions
+ the partitioned table; such an index is marked invalid and the partitions
do not get the index applied automatically. The indexes on partitions can
- be created individually using <literal>CONCURRENTLY</literal>, and then
+ then be created individually using <literal>CONCURRENTLY</literal> and
<firstterm>attached</firstterm> to the index on the parent using
<command>ALTER INDEX .. ATTACH PARTITION</command>. Once indexes for all
partitions are attached to the parent index, the parent index is marked