Re: autovacuum on pg_catalog tables - Mailing list pgsql-general

From Vijaykumar Jain
Subject Re: autovacuum on pg_catalog tables
Date
Msg-id CAM+6J95q0srfnjNv62Ka=32eFXFCOmJA50Uvw4KzodWVS+2y8g@mail.gmail.com
Whole thread Raw
In response to autovacuum on pg_catalog tables  ("Zwettler Markus (OIZ)" <Markus.Zwettler@zuerich.ch>)
Responses AW: [Extern] Re: autovacuum on pg_catalog tables  ("Zwettler Markus (OIZ)" <Markus.Zwettler@zuerich.ch>)
List pgsql-general
ok, what i am sharing, DO NOT DO IT.
it is just to answer why it is not working  :)


postgres=# alter table pg_catalog.pg_largeobject_metadata set (AUTOVACUUM_VACUUM_COST_DELAY = 1);
ERROR:  permission denied: "pg_largeobject_metadata" is a system catalog
postgres=# show allow_system_table_mods;
 allow_system_table_mods
-------------------------
 off
(1 row)

postgres=# set allow_system_table_mods TO 1;
SET
postgres=# show allow_system_table_mods;
 allow_system_table_mods
-------------------------
 on
(1 row)

postgres=# alter table pg_catalog.pg_largeobject_metadata set (AUTOVACUUM_VACUUM_COST_DELAY = 1);
ALTER TABLE


but you can always run vacuum manually on the table.
vacuum (verbose,analyze) pg_catalog.pg_largeobject_metadata;
INFO:  vacuuming "pg_catalog.pg_largeobject_metadata"
INFO:  index "pg_largeobject_metadata_oid_index" now contains 0 row versions in 1 pages
DETAIL:  0 index row versions were removed.
0 index pages have been deleted, 0 are currently reusable.
CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s.
INFO:  "pg_largeobject_metadata": found 0 removable, 0 nonremovable row versions in 0 out of 0 pages
DETAIL:  0 dead row versions cannot be removed yet, oldest xmin: 8083775
There were 0 unused item identifiers.
Skipped 0 pages due to buffer pins, 0 frozen pages.
0 pages are entirely empty.
CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s.
INFO:  analyzing "pg_catalog.pg_largeobject_metadata"
INFO:  "pg_largeobject_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
VACUUM



On Fri, 4 Jun 2021 at 20:10, Zwettler Markus (OIZ) <Markus.Zwettler@zuerich.ch> wrote:

I would like to start a more aggressive autovacuum on pg_catalog tables like pg_largeobject.

 

So I tried as a superuser:

 

# alter table pg_catalog.pg_largeobject_metadata set (autovacuum_vacuum_scale_factor = 0, autovacuum_vacuum_threshold = 5000);

ERROR:  permission denied: "pg_largeobject_metadata" is a system catalog

 

(How) Is it possible to change such table attributes on pg_catalog tables?

 

Thanks, Markus

 

 



--
Thanks,
Vijay
Mumbai, India

pgsql-general by date:

Previous
From: Laura Smith
Date:
Subject: Re: EXCLUDE USING and tstzrange
Next
From: "Zwettler Markus (OIZ)"
Date:
Subject: AW: [Extern] Re: autovacuum on pg_catalog tables