Re: Partitioned index can be not dumped
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Álvaro Herrera <alvherre@alvh.no-ip.org>
To: Zhihong Yu <zyu@yugabyte.com>
Cc: Alexander Pyhalov <a.pyhalov@postgrespro.ru>, Pgsql Hackers <pgsql-hackers@postgresql.org>
Date: 2021-06-30T21:57:36Z
Lists: pgsql-hackers
On 2021-Jun-30, Zhihong Yu wrote:
> Hi,
> In that case, I wonder whether nindexes can be negated following the call
> to vac_open_indexes().
>
> vac_open_indexes(onerel, AccessShareLock, &nindexes, &Irel);
> + nindexes = -nindexes;
>
> That way, hasindex can be dropped.
> vac_update_relstats() call would become:
>
> vac_update_relstats(onerel, -1, totalrows,
> - 0, false, InvalidTransactionId,
> + 0, nindexes != 0, InvalidTransactionId,
Perhaps this works, but I don't think it's a readability improvement.
> My thinking is that without hasindex, the code is easier to maintain.
You have one less variable but one additional concept (negative
nindexes). It doesn't seem easier to me, TBH, rather the opposite.
--
Álvaro Herrera 39°49'30"S 73°17'W
https://www.EnterpriseDB.com/
Commits
-
Don't reset relhasindex for partitioned tables on ANALYZE
- d700518d744e 15.0 landed
- be280cdad298 14.0 landed
-
Set pg_class.reltuples for partitioned tables
- 0e69f705cc1a 14.0 cited
-
autovacuum: handle analyze for partitioned tables
- 0827e8af70f4 14.0 cited