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
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? |