From: | Kashif Zeeshan <kashi(dot)zeeshan(at)gmail(dot)com> |
---|---|
To: | "Shenavai, Manuel" <manuel(dot)shenavai(at)sap(dot)com> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: TOAST Table / Dead Tuples / Free Pages |
Date: | 2024-06-13 08:08:49 |
Message-ID: | CAAPsdhfgtid0=b4j0xC=MNG1tpQrMxL6OJb9GHm+PC7jVQG+WA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi
You can use the CLUSTER command, which will physically reorder the table
based on index, effectively reducing the size of the table without using
VACUUM.
CLUSTER your_table USING your_index;
Or you can use the pg_repack extension as well.
pg_repack -d your_database -t your_table
Regards
Kashif Zeeshan
On Thu, Jun 13, 2024 at 12:55 PM Shenavai, Manuel <manuel(dot)shenavai(at)sap(dot)com>
wrote:
> Hi everyone,
>
>
>
> I created a simple scenario to understand the handling of TOASTs
> <https://www.postgresql.org/docs/current/storage-toast.html>: There is an
> empty database with a single table and record. The single record gets
> updated multiple times with 10MB (bytea column). I can see that the
> table/toasttable size is growing (500MB).
>
>
>
> Now I tried to find a way to get the DB size down again (it should be
> around 10MB instead of 500MB). I don’t want to use VACUUM FULL due to the
> exclusive lock.
>
>
>
> Is there any way to remove the dead tuples and free the pages?
>
>
>
> Thanks in advance &
>
> Best regards,
>
> Manuel
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Muhammad Ikram | 2024-06-13 08:41:52 | Re: TOAST Table / Dead Tuples / Free Pages |
Previous Message | Shenavai, Manuel | 2024-06-13 07:55:02 | TOAST Table / Dead Tuples / Free Pages |