Thread: Re: [COMMITTERS] pgsql: Improve the manual's discussion of partitioning.

Re: [COMMITTERS] pgsql: Improve the manual's discussion of partitioning.

From
ITAGAKI Takahiro
Date:
tgl@postgresql.org (Tom Lane) wrote:

> Log Message:
> -----------
> Improve the manual's discussion of partitioning.  Recommend using a
> trigger instead of a rule to redirect insertions, use NEW.* notation
> where appropriate, some other updates and adjustments.  David Fetter
> and Tom Lane

I have a fix (1) and two comments (2 and 3) in the documentation.

1. "IF (logdate)" should be "IF (NEW.logdate)" in the trigger function.    INSERT fails without "NEW." before logdate.
   =# INSERT INTO measurement VALUES(1, DATE '2007-12-03', 0, 0);      ERROR:  column "logdate" does not exist
 

2. What is the purpose of "2. Next we create one partition ..." ?    We will recreate tables in "3. We must add
non-overlappingtable    constraints...". Is the chapter 2 useless? When users copy-and-paste    the codes in the topic,
theyrun into errors at the chapter 3.
 

3. Is it worth reversing the order of checking date in the trigger function?    I think the newer partions are more
ofteninserted in this case.    If we check the newer partion first, we can skip the remaining checks.    This is one of
theadvantage of by-trigger partitioning than by-rule.
 

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center




Re: [COMMITTERS] pgsql: Improve the manual's discussion of partitioning.

From
Tom Lane
Date:
ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp> writes:
> I have a fix (1) and two comments (2 and 3) in the documentation.

> 1. "IF (logdate)" should be "IF (NEW.logdate)" in the trigger function.
>      INSERT fails without "NEW." before logdate.

How embarrassing ... I tested the other parts of the example, but not that.

> 2. What is the purpose of "2. Next we create one partition ..." ?
>      We will recreate tables in "3. We must add non-overlapping table
>      constraints...". Is the chapter 2 useless? When users copy-and-paste
>      the codes in the topic, they run into errors at the chapter 3.

It's trying to describe things a step at a time.  If we collapsed these
two parts together I think it might be too complex.  We could change
the wording a bit, or change the step-3 stuff to ALTER TABLE ADD
CONSTRAINT.

> 3. Is it worth reversing the order of checking date in the trigger function?
>      I think the newer partions are more often inserted in this case.

That might be good in a real case, but I think it would just complicate
the example ...
        regards, tom lane