change on_exit_nicely_list array to the dynamic array to increase slots at run time for pg_restore

From: Mahendra Singh Thalor <mahi6run(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Cc: Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, jian he <jian(dot)universality(at)gmail(dot)com>
Subject: change on_exit_nicely_list array to the dynamic array to increase slots at run time for pg_restore
Date: 2025-03-10 08:54:27
Message-ID: CAKYtNAoA6UEZnBXxXU9vEjYz5q2gU5Ok10KypKAGTQ7dPXafwA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,
(refer file src/bin/pg_dump/pg_backup_utils.c)

While doing some code changes with pg_dumpall and pg_rsetore[1], we noticed
that on_exit_nicely_list array has only fixed slots (MAX_ON_EXIT_NICELY=20)
but in some cases, we need more slots for pg_restore.

*Ex: restore more than 20 databases by single pg_restore command.*
We are working on a patch[1] which dumps all the databases in non-text mode
by pg_dumpall and then we are restoring those dumps by pg_restore. So we
need more slots due to multiple databases.

Apart from the attached patch solution, we thought of some more solutions.
*Solution 1*: reset array index with each database restore, but this might
break some other things.
*Solution 2:* for each database, we can keep the index of the
on_exit_nicely_list array and after restoring a particular database we can
reset the index to old value but this looks like a hack.

Here, I am proposing a patch which will dynamically enlarge the
on_exit_nicely_list array by doubling the previous size.

Thoughts?

[1] : pg_dumpall with non-text mode
<https://www.postgresql.org/message-id/flat/cb103623-8ee6-4ba5-a2c9-f32e3a4933fa%40dunslane.net>
[2]: problem of on_exit_nicely_list array
<202503051512(dot)tr7vcirldfns(at)alvherre(dot)pgsql>
--
Thanks and Regards
Mahendra Singh Thalor
EnterpriseDB: http://www.enterprisedb.com

Attachment Content-Type Size
v01-enlarge-on_exit_nicely_list-array-whenever-no-slot.patch application/octet-stream 3.3 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ilia Evdokimov 2025-03-10 09:13:08 Re: Vacuum statistics
Previous Message John Naylor 2025-03-10 08:48:31 Re: Improve CRC32C performance on SSE4.2