Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Álvaro Herrera <alvherre@alvh.no-ip.org>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Alexander Korotkov <akorotkov@postgresql.org>, pgsql-hackers@lists.postgresql.org, Maxim Orlov <orlovmg@gmail.com>, Svetlana Derevyanko <s.derevyanko@postgrespro.ru>
Date: 2025-03-10T11:12:33Z
Lists: pgsql-hackers
On 2025-Mar-09, Alexander Korotkov wrote: > After second thought it's not so hard to fix. The attached patch does > it by putting REINDEX commands related to the same table into a single > SQL statement. Possibly, that could be better than revert given we > need to handle compatibility. What do you think? Oh, this is an egg of Columbus solution, I like it. It seems to work as intended on a quick test. Please add some commentary to run_reindex_command. Maybe another, possibly better way to do this would be to use libpq pipeline mode, sending all the commands for a table in one pipeline instead of a single command. The advantage of this would be that server-side log entries for each command would be separate, and they wouldn't appear clumped together in pg_stat_activity and so on. However, this would require more invasive changes, so it might be better to leave that for a future project -- it's certainly a harder sell for such a change to be backpatched. So I'm +1 on your current patch for 17 and master. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "Puedes vivir sólo una vez, pero si lo haces bien, una vez es suficiente"
Commits
-
reindexdb: Fix the index-level REINDEX with multiple jobs
- 09ef2f8df1cd 17.5 landed
- 682c5be25c28 18.0 landed
-
reindexdb: Fix warning about uninitialized indices_tables_cell
- cc0e7ebd304a 17.0 landed
-
reindexdb: Add the index-level REINDEX with multiple jobs
- 47f99a407de2 17.0 cited
-
Rework logic and simplify syntax of REINDEX DATABASE/SYSTEM
- 2cbc3c17a5c1 16.0 cited