Avoiding repeated ON COMMIT truncation for temporary tables - Mailing list pgsql-hackers

From Bruce Momjian
Subject Avoiding repeated ON COMMIT truncation for temporary tables
Date
Msg-id 201103120107.p2C17rd22697@momjian.us
Whole thread Raw
Responses Re: Avoiding repeated ON COMMIT truncation for temporary tables
List pgsql-hackers
Currently, if you create a temporary table with the ON COMMIT action of
DELETE ROWS, the table will truncated for every commit, whether there is
any data in the table or not.

I measured the overhead using this test:
$ (echo 'CREATE TEMPORARY TABLE TEST2 (x int);'; jot -b 'SELECT 1;'10000) | time psql  test > /dev/null        6.93
real        0.93 user         0.78 sys$ (echo 'CREATE TEMPORARY TABLE TEST2 (x int) ON COMMIT DELETE ROWS;';jot -b
'SELECT1;' 10000) | time psql  test > /dev/null        7.93 real         1.02 user         0.72 sys
 

The overhead measures 14%.  Is there a simple way to avoid the repeated
truncation overhead of such cases?  Is this a TODO?

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +


pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Re: pg_dump -X
Next
From: Alvaro Herrera
Date:
Subject: Re: pg_dump -X