Re: Postgres 11: Table Partitioning and Primary Keys

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Amit Langote <amitlangote09(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, phil(dot)bayer(at)gmail(dot)com, pgsql-docs(at)lists(dot)postgresql(dot)org, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Postgres 11: Table Partitioning and Primary Keys
Date: 2019-07-09 22:59:59
Message-ID: 1341.1562713199@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-hackers

Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
> That's a mild personal preference only though. Anyway, based on your
> proposed wording, I wrote this:

> <listitem>
> <para>
> Unique constraints on partitioned tables (as well as primary keys)
> must constrain all the partition key columns. This limitation exists
> because <productname>PostgreSQL</productname> can only enforce
> uniqueness in each partition individually.
> </para>
> </listitem>

> I'm not really sure about the "must constrain" verbiage. Is that really
> comprehensible?

I think "must include" might be better.

> In CREATE TABLE, we already have this:
> <para>
> When establishing a unique constraint for a multi-level partition
> hierarchy, all the columns in the partition key of the target
> partitioned table, as well as those of all its descendant partitioned
> tables, must be included in the constraint definition.
> </para>

> which may not be the pinnacle of clarity, but took some time to craft
> and I think is correct. Also it doesn't mention primary keys
> explicitly; maybe we should patch it by adding "(as well as a primary
> key)" right after "a unique constraint". Thoughts?

I'd leave that alone. I don't think the parenthetical comment about
primary keys in your new text is adding much either.

regards, tom lane

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Amit Langote 2019-07-10 05:30:15 Re: Postgres 11: Table Partitioning and Primary Keys
Previous Message Alvaro Herrera 2019-07-09 22:53:33 Re: Postgres 11: Table Partitioning and Primary Keys

Browse pgsql-hackers by date

  From Date Subject
Next Message Joe Conway 2019-07-09 23:04:26 Re: [Proposal] Table-level Transparent Data Encryption (TDE) and Key Management Service (KMS)
Previous Message Alvaro Herrera 2019-07-09 22:53:33 Re: Postgres 11: Table Partitioning and Primary Keys