On Tue, Jun 11, 2024 at 10:39:51AM +0200, Matthias van de Meent wrote: > On Tue, 11 Jun 2024 at 04:01, Nathan Bossart <nathandboss...@gmail.com> wrote: >> It looks like pg_dump always uses template0, so AFAICT we don't even need >> the suggested manual checkpoint after restoring template1. > > Thanks for reminding me. It seems I misunderstood the reason why we > first process template1 in create_new_objects, as I didn't read the > comments thoroughly enough.
Actually, I think you are right that we need a manual checkpoint, except I think we need it to be after prepare_new_globals(). set_frozenxids() connects to each database (including template0) and updates a bunch of pg_class rows, and we probably want those on disk before we start copying the files to create all the user's databases. -- nathan