For temporary tables; truncate vs on commit delete all

From: Jim Vanns <jvanns(at)ilm(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: For temporary tables; truncate vs on commit delete all
Date: 2023-03-22 11:59:36
Message-ID: CAH7vdhOJLi9eSr_i0KkEG60prha=y=VjY7KvMOa-p3WUwTZUTg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Does anyone have any idea which is generally better (by better I mean
most efficient/quickest!) in this simple scenario? I have a temporary
table which I wish to retain for the duration of a long-running
session. However, for each transaction it must be purged. So, is it
better to;

a) Always CREATE TEMPORARY TABLE + ON COMMIT DROP for every transaction or;
b) TRUNCATE TABLE or;
c) ON COMMIT DELETE ROWS

Both b & c avoid re-creating the table each time but at the cost of an
explicit purge of some form.
I would assume that despite its name, the latter, example c, is more
akin to a truncation? Or does it actually perform a deletion?

Cheers

Jim

--
Jim Vanns
Principal Production Engineer
Industrial Light & Magic, London

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Laurenz Albe 2023-03-22 13:55:05 Re: For temporary tables; truncate vs on commit delete all
Previous Message Will Roper 2023-03-22 09:25:37 Re: Logical replication fails when adding multiple replicas