Re: temporary tables are logged somehow?

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Andrey Lizenko <lizenko79(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: temporary tables are logged somehow?
Date: 2015-01-22 14:43:30
Message-ID: 54C10C92.9000907@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 01/22/2015 06:06 AM, Andrey Lizenko wrote:
> Hello all,
> I have a problem with growing WAL-files populating a temporary table.
>
> After running the following script 8192 times (each in separate
> connection) I can see 3*16 MB WAL files.

3 * 16 = 48MB

Say each row takes 10 bytes(an underestimate).

8000 rows * 8192 connections * 10 bytes = 655,360,000 bytes or 655.36
megabytes.

>
>
> CREATE TEMP TABLE IF NOT EXISTS positiontemporarytable
> (pos_instrument_id integer, pos_code varchar(40));
> BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
> prepare pos_insert (integer, varchar(40)) as insert into
> "positiontemporarytable" values($1, $2);
> execute pos_insert ('76','27958');
> execute pos_insert ('71','9406:58');
>
> ......
>
> <about 8000 same 'executes' commands>
>
> ......
>
> execute pos_insert ('74','19406:58');
>
> COMMIT;
>
>
>
> It was tested via pgbench:
>
> pgbench -l -t 8192 -C -f /db/postgres/report_test.sql db_test
>
> and simple bash script:
>
> for i in {1..8192}
> do
> echo $i
> psql -f /db/postgres/report_test.sql db_test
> done
>
>
> Results are the same. Server version 9.3.5 (it seems 9.2.4 and 9.2.9
> also affected by this).
>
> As metioned, for example, in Robert Haas blog
> http://rhaas.blogspot.ru/2010/05/global-temporary-and-unlogged-tables.html
>
> 3. They are not WAL-logged.
>
>
> Whats wrong with it in my case?

Nothing as far as I can see.

>
>
> --
> Regards, Andrey Lizenko

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Pierre Hsieh 2015-01-22 14:54:58 How to create a specific table
Previous Message Michael Paquier 2015-01-22 14:36:52 Re: temporary tables are logged somehow?