Re: Partitioned Tables

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Partitioned Tables
Date: 2012-06-13 02:37:49
Message-ID: 4FD7FCFD.6010900@ringerc.id.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On 06/13/2012 08:05 AM, Wayne Cuddy wrote:
> I'm using partitioned tables where a child table is chosen based on a
> time stamp. One child table exists for each month.
>
> I move records from a temp table to the partitioned table via something like
> this:
>
> INSERT INTO parent_table SELECT * FROM temp_table;
>
> All works well but with when inserting to standard tables the insert
> result contains the number of records inserted. I've found that when I
> insert into partitioned tables the result is always zero.

Are you inserting directly into the partition? Or into the parent table?

If you're inserting into the parent, then it's true that no rows were
inserted into the parent; a trigger redirected the write into the child
table. Pg's handling of partitioning isn't yet sophisticated enough to
recognise that those rows got written to a child and thus still appeared
in the parent and report that.

As a workaround, ignore the insert count for partitioned tables, or
insert directly into the appropriate partition(s).

--
Craig Ringer

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Craig Ringer 2012-06-13 02:39:33 Re: how to use schema with data type
Previous Message John Fabiani 2012-06-13 00:46:53 how to use schema with data type