Re: Errors on CREATE TABLE IF NOT EXISTS

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Matteo Beccati <php(at)beccati(dot)com>
Cc: Pg Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: Errors on CREATE TABLE IF NOT EXISTS
Date: 2012-05-01 19:36:24
Message-ID: 1335900770-sup-854@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


Excerpts from Matteo Beccati's message of lun abr 23 08:49:39 -0300 2012:
> Hi,
>
> I've recently seen a few errors on our continuous integration system
> during a test using a badly written partitioning trigger. The function
> was basically checking for the existence of the partition table at every
> insert and was running a CREATE TABLE IF NOT EXISTS statement in case it
> was needed. What baffled me was that the function was exiting with an
> ERROR, rather than succeeding with a NOTICE, e.g.:

The question you were asking has already been answered, but I think it's
worth pointing out that a partitioned-insert trigger that has to check
whether the partition exist beforehand is a lot slower than one that
doesn't have to. Our usual suggestion is to create the partitions by
some other means, e.g. create a couple months worth of weekly
partitions, a couple of months ahead of time, via cron. The insert
trigger is then assured that the partition exists, and it can become
faster by not having to check.

--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message stuart 2012-05-02 12:59:58 BUG #6624: Tab completion of identifier containing single backslash triggers warnings
Previous Message Kevin Grittner 2012-05-01 14:23:24 Re: BUG #6623: FATAL: terminating connection due to administrator command