Re: Vacuum statistics

From: Ilia Evdokimov <ilya(dot)evdokimov(at)tantorlabs(dot)com>
To: Alena Rybakina <a(dot)rybakina(at)postgrespro(dot)ru>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: jian he <jian(dot)universality(at)gmail(dot)com>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>, Andrei Zubkov <zubkov(at)moonset(dot)ru>, Alena Rybakina <lena(dot)ribackina(at)yandex(dot)ru>, a(dot)lepikhov(at)postgrespro(dot)ru
Subject: Re: Vacuum statistics
Date: 2024-11-10 16:51:09
Message-ID: 495f3476-8499-44c5-9fcc-d535bfeccc76@tantorlabs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 08.11.2024 22:23, Alena Rybakina wrote:
> Hi! Thank you for review!
>
> On 07.11.2024 17:49, Ilia Evdokimov wrote:
>>
>> Thank you for fixing it.
>>
>> 1) I have found some typos in the test output files (out-files) when
>> running 'make check' and 'make check-world'. These typos might cause
>> minor discrepancies in test results. You may already be aware of
>> them, but I wanted to bring them to your attention in case they
>> haven't been noticed. I believe these can be fixed quickly.
>>
> Yes, I'll fix it)
>>
>> 2) Additionally, I observed that when we create a table and insert
>> some rows, executing the VACUUM FULL command does not update the
>> information in the 'pg_stat_get_vacuum_tables' However, running the
>> VACUUM command does update this information as expected. This seems
>> inconsistent, and it might be a bug.
>>
>> Example:
>> CREATE TABLE t (i INT, j INT) WITH (autovacuum_enabled = false);
>> INSERT INTO t SELECT i/10, i/100 FROM GENERATE_SERIES(1,1000000) i;
>> SELECT * FROM pg_stat_get_vacuum_tables WHERE relname = 't';
>> schema | relname |    relid | total_blks_read | .........
>> -----------+------------+---------+----------------------+---------
>>    public | t            | 21416 |                       0 | ......
>> (1 row)
>>
>> VACUUM FULL;
>> SELECT * FROM pg_stat_get_vacuum_tables WHERE relname = 't';
>> schema | relname |    relid | total_blks_read | .........
>> -----------+------------+---------+----------------------+---------
>>    public | t            | 21416 |                       0 | ......
>> (1 row)
>>
>> VACUUM;
>> SELECT * FROM pg_stat_get_vacuum_tables WHERE relname = 't';
>> schema | relname |    relid | total_blks_read | .........
>> -----------+------------+---------+----------------------+---------
>>    public | t            | 21416 |                 4425 | ......
>> (1 row)
>>
>>
> vacuum full operation doesn't call a vacuum operation, so we can't
> collect statistics for it. Furthermore, this is a different operation
> than vacuum because it completely rebuilds the table and indexes, so
> it looks like your previous table and its indexes were completely
> removed. To sum up, I think it isn't a bug that the statistics aren't
> showing here.
>
Ah, you're right. This table does contain the _statistics_ for it.
Everything is okay then. Sorry for the confusion.

Regards,
Ilia Evdokimov,
Tantor Labs LLC.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dmitry Dolgov 2024-11-10 17:41:07 Re: proposal: schema variables
Previous Message Pavel Stehule 2024-11-10 16:19:09 Re: proposal: schema variables