Re: create table in memory - Mailing list pgsql-general

From Peter Kroon
Subject Re: create table in memory
Date
Msg-id CAOh+DOmpRU7-k2UfmHg=Ri10Hwdz5bci2ru=s5dAiOD_hxFNjA@mail.gmail.com
Whole thread Raw
In response to Re: create table in memory  (Craig Ringer <craig@2ndQuadrant.com>)
List pgsql-general
Could you provide an example?

Fo me:
Drop/Creat/populating tables inside a function are slow.
Creating tables outside a function and populating he table inside a function is fast..


2012/11/24 Craig Ringer <craig@2ndquadrant.com>
On 11/24/2012 02:15 AM, Peter Kroon wrote:
> I found out that declaring tables outside of functions increases the
> execution time of the function.
Strictly, what's probably happening is that creating a table in the same
transaction as populating it is a lot faster than creating it,
committing, and populating it in a new transaction. In the 1st case WAL
logging for the heap can be avoided if you aren't using replication or
PITR (ie wal_level is minimal).

Functions are automatically wrapped in a transaction if you don't open
one explicitly so doing a CREATE TABLE inside a function will be
quicker. The same result should be achieved by beginning a transaction,
creating the table, then calling the function.

--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


pgsql-general by date:

Previous
From: Peter Kroon
Date:
Subject: Re: ERROR: query has no destination for result data
Next
From: "Vlad K."
Date:
Subject: Re: Copy rows, remember old and new pkey