vacuum after truncate

From: Mariel Cherkassky <mariel(dot)cherkassky(at)gmail(dot)com>
To: PostgreSQL mailing lists <pgsql-performance(at)postgresql(dot)org>
Subject: vacuum after truncate
Date: 2017-12-05 14:03:11
Message-ID: CA+t6e1=Xid-2j562k3J=-WKsYARt0STXBFT9ephcvMUo9NAQbQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi,
I have a big function that includes many truncates on different tables. In
the documentation is is written that truncates creates a new file and
resign the old filenode to the new filenode and the old file (old data of
the table) is deleted in commit.

In order to execute my function I run psql -d 'aa' -U 'bb' -C "select
function()";

I have a few questions about it ?

1.When I start the function, it means that the whole function is one big
transaction right ?
2..Because the truncates I preform are part of a transaction it means that
only at the end of the transaction that space will be freed ? Which mean
only when the function is finished?
3..Does running vacuum at the end of the function on the tables that were
truncated and then populated with data will have any impact or is it better
just to analyze them ?

Thanks.

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Laurenz Albe 2017-12-05 14:40:54 Re: vacuum after truncate
Previous Message Jeff Janes 2017-12-04 00:27:23 Re: Bitmap scan is undercosted? - boolean correlation