| 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: | Whole Thread | Raw Message | 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
| 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 |