Re: doc: mentioned CREATE+ATTACH PARTITION as an alternative to CREATE TABLE..PARTITION OF

From: Robert Treat <rob(at)xzilla(dot)net>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, Robert Haas <rhaas(at)postgresql(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, David Rowley <drowley(at)postgresql(dot)org>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Subject: Re: doc: mentioned CREATE+ATTACH PARTITION as an alternative to CREATE TABLE..PARTITION OF
Date: 2022-08-04 05:45:49
Message-ID: CABV9wwP1s9Zh+a8XQqH4YzGMdF34q6a3fPNGucOuJ8GWVT3ahw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jul 18, 2022 at 10:39 AM Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
> On 2022-07-18 Mo 10:33, Justin Pryzby wrote:
> > It's easy to use CREATE TABLE..LIKE + ALTER..ATTACH PARTITION to avoid
> > acquiring a strong lock when creating a new partition.
> > But it's also easy to forget.
> >
> > commit 76c0d1198cf2908423b321cd3340d296cb668c8e
> > Author: Justin Pryzby <pryzbyj(at)telsasoft(dot)com>
> > Date: Mon Jul 18 09:24:55 2022 -0500
> >
> > doc: mention CREATE+ATTACH PARTITION as an alternative to CREATE TABLE..PARTITION OF
> >
> > See also: 898e5e3290a72d288923260143930fb32036c00c
> > Should backpatch to v12
> >
> > diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
> > index 6bbf15ed1a4..db7d8710bae 100644
> > --- a/doc/src/sgml/ref/create_table.sgml
> > +++ b/doc/src/sgml/ref/create_table.sgml
> > @@ -619,6 +619,16 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
> > with <literal>DROP TABLE</literal> requires taking an <literal>ACCESS
> > EXCLUSIVE</literal> lock on the parent table.
> > </para>
> > +
> > + <para>
> > + Note that creating a partition acquires an <literal>ACCESS
> > + EXCLUSIVE</literal> lock on the parent table.
> > + It may be preferable to first CREATE a separate table and then ATTACH it,
> > + which does not require as strong of a lock.
> > + See <link linkend="sql-altertable-attach-partition">ATTACH PARTITION</link>
> > + and <xref linkend="ddl-partitioning"/> for more information.
> > + </para>
> > +
> > </listitem>
> > </varlistentry>
> >
>
> Style nitpick.
>
> I would prefer "does not require as strong a lock."
>
FWIW, this is also proper grammar as well.

After reading this again, it isn't clear to me that this advice would
be more appropriately placed into Section 5.11, aka
https://www.postgresql.org/docs/current/ddl-partitioning.html, but in
lieu of a specific suggestion for where to place it there (I haven't
settled on one yet), IMHO, I think the first sentence of the suggested
change should be rewritten as:

<para>
Note that creating a partition using <literal>PARTITION OF<literal>
requires taking an <literal>ACCESS EXCLUSIVE</literal> lock on the parent table.
It may be preferable to first CREATE a separate table...

Robert Treat
https://xzilla.net

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Martin Kalcher 2022-08-04 05:46:10 Re: [PATCH] Introduce array_shuffle() and array_sample()
Previous Message Masahiko Sawada 2022-08-04 05:37:59 Re: support for SSE2 intrinsics