agora inbox for pgsql-hackers@postgresql.org
help / color / mirror / Atom feedFrom: Antonin Houska <ah@cybertec.at>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Marcos Pegoraro <marcos@f10.com.br>
Cc: Michael Banck <mbanck@gmx.net>
Cc: Junwang Zhao <zhjwpku@gmail.com>
Cc: Kirill Reshke <reshkekirill@gmail.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Subject: Re: why there is not VACUUM FULL CONCURRENTLY?
Date: Mon, 03 Mar 2025 19:40:27 +0100
Message-ID: <49792.1741027227@localhost> (raw)
In-Reply-To: <202503031807.dnacvpgnjkz7@alvherre.pgsql>
References: <202503031807.dnacvpgnjkz7@alvherre.pgsql>
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> On 2025-Feb-26, Antonin Houska wrote:
>
> > @@ -403,39 +381,38 @@ cluster_rel(Relation OldHeap, Oid indexOid, ClusterParams *params)
> > * would work in most respects, but the index would only get marked as
> > * indisclustered in the current database, leading to unexpected behavior
> > * if CLUSTER were later invoked in another database.
> > + *
> > + * REPACK does not set indisclustered. XXX Not sure I understand the
> > + * comment above: how can an attribute be set "only in the current
> > + * database"?
> > */
>
> Regarding this XXX comment, what's going on here is this: a CLUSTER
> command needs to remember the index that a table is clustered on. We
> keep track of this in pg_index.indisclustered. But pg_index is a local
> relation, not shared across databases -- so the current CLUSTER command
> can effect the update on the current database's pg_index only, not on
> other databases. So if the user were to run CLUSTER on one database
> specifying an index, then connect to another one and expect CLUSTER
> without specifying an index to honor the previously specified index,
> that would not work. Naturally this is only a problem for shared
> catalogs. Not being able to handle this for shared catalogs is not a
> big loss.
Thanks for explanation. The reason I failed to understand this was probably
that I tried to imagine something worse.
--
Antonin Houska
Web: https://www.cybertec-postgresql.com
view thread (88+ messages) latest in thread
Message-ID: <49792.1741027227@localhost>
Permalink: ../49792.1741027227@localhost/
Also on: postgresql.org/message-id/49792.1741027227@localhost
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: ah@cybertec.at, alvherre@alvh.no-ip.org, marcos@f10.com.br, mbanck@gmx.net, zhjwpku@gmail.com, reshkekirill@gmail.com, pavel.stehule@gmail.com, michael@paquier.xyz
Subject: Re: why there is not VACUUM FULL CONCURRENTLY?
In-Reply-To: <49792.1741027227@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox