Re: temp table "on commit delete rows": transaction overhead - Mailing list pgsql-performance

From Artiom Makarov
Subject Re: temp table "on commit delete rows": transaction overhead
Date
Msg-id w2ud448ea361003310042t91d5f283pb3daccbe19dfcb7@mail.gmail.com
Whole thread Raw
In response to Re: temp table "on commit delete rows": transaction overhead  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance
2010/3/30 Tom Lane <tgl@sss.pgh.pa.us>:

> I don't recall any operations at transaction start for such tables,
> but there may be some.
>
Both in СommitTransaction(void) and  PrepareTransaction(void) we can
see PreCommit_on_commit_actions() call;

Here PreCommit_on_commit_actions()
<CUT>
            case ONCOMMIT_DELETE_ROWS:
                oids_to_truncate = lappend_oid(oids_to_truncate, oc->relid);
                break;
<CUT>

As a my opinion, the same action taked place at transaction start and commit.

To truncate rows of any temp tables, both  changed and unchanged(!)
after transaction looks as little reinsurance. Well.
But why do the same action _before_ any transaction?

pgsql-performance by date:

Previous
From: Christiaan Willemsen
Date:
Subject: Re: Using high speed swap to improve performance?
Next
From: Ľubomír Varga
Date:
Subject: Some question