Re: triggers and execute...

From: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: triggers and execute...
Date: 2009-04-30 10:03:10
Message-ID: 200904301203.14855.dfontaine@hi-media.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Monday 27 April 2009 22:32:22 Scott Marlowe wrote:
> OK, I'm hitting a wall here. I've written this trigger for partitioning:
>
> create or replace function page_access_insert_trigger ()
> returns trigger as $$
> DECLARE
> part text;
> q text;
> BEGIN
> part = to_char(new."timestamp",'YYYYMMDD');
> q = 'insert into page_access_'||part||' values (new.*)';

What you want looks like this (thanks RhodiumToad):

'INSERT INTO page_access_' || part ||
'SELECT (' || quote_literal(textin(record_out(NEW))) || '::page_access).*;'

That's supposing you have a parent table named page_access, of course. And
casting this way has drawbacks too (which I can't recall at this moment), but
I've been using this live for maybe more than a year now without any problem.

> It works. So, how am I supposed to run it with dynamic table names?

Hack your way around, partitioning is not yet there "for real"...
--
dim

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Henry 2009-04-30 10:03:21 PANIC: right sibling's left-link doesn't match
Previous Message Phil Couling 2009-04-30 09:01:14 Do TEMP Tables have an OID? Can this be a problem if used too frequently?