Re: partitioned table insert triggers - Mailing list pgsql-general

From ITAGAKI Takahiro
Subject Re: partitioned table insert triggers
Date
Msg-id 20080623100711.9454.52131E4D@oss.ntt.co.jp
Whole thread Raw
In response to partitioned table insert triggers  (Reece Hart <reece@harts.net>)
Responses Re: partitioned table insert triggers  (Reece Hart <reece@harts.net>)
List pgsql-general
Reece Hart <reece@harts.net> wrote:

>             c := 'INSERT INTO ' || ctable || ' VALUES (NEW.*)';

> Now that my only idea is gone, the question for y'all is: how?
>
> ?(Okay, I actually do have one more idea: construct the insert values
> list with quote_literal. I'm hoping there's a better way.)

You need to do so in 8.3:
    EXECUTE 'INSERT INTO ' || ctable ||
            ' VALUES( (' || quote_literal(new) || '::' || ptable || ').*)';

In 8.4, the next release, you will be able to use a better way:
    EXECUTE 'INSERT INTO ' || ctable || ' VALUES( ($1).* )' USING new;

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



pgsql-general by date:

Previous
From: "Josh Tolley"
Date:
Subject: Re: postgres generates too much processes per minute
Next
From: Reece Hart
Date:
Subject: Re: partitioned table insert triggers