Parallelizing startup with many databases

From: Babak Ghadiri <bbkghadiri6(at)gmail(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Parallelizing startup with many databases
Date: 2026-01-02 07:55:07
Message-ID: CAEkHFKSxYO7Ryv_UNNGSe88zosg0_Q_dop6hXN0oCoYK28EZtA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-hackers

Hello,
I hope you are doing well.

In PostgreSQL 16, startup appears to initialize databases sequentially and
primarily uses a single CPU core. In clusters with a very large number of
databases (around 5,000 in our case), this results in noticeably long
startup times after restarts or crash recovery.

I would like to ask:

- Is the largely single-threaded startup behavior a fundamental
architectural
constraint (e.g. catalog dependencies, locking, recovery ordering), or
mainly
an unimplemented optimization?
- Are there any existing discussions, patches, versions (18+) to
parallelize parts of startup or otherwise improve startup scalability with
many databases?
- Are there any PostgreSQL configuration settings known to dramatically
reduce startup time, or is startup performance mostly fixed by architecture
in this scenario?

I understand that having many databases in a single cluster is not the most
common or recommended multi-tenant model, but this is an existing system and
I’m trying to better understand the current limits and future direction.

Thank you for your time and insights.

Best regards.

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Andreas Karlsson 2026-01-02 23:38:10 Re: Parallelizing startup with many databases
Previous Message Robert Treat 2026-01-01 16:55:27 Fix improper xreflabels created for v18 release notes

Browse pgsql-hackers by date

  From Date Subject
Next Message tushar 2026-01-02 07:57:35 Re: Non-text mode for pg_dumpall
Previous Message Kirill Reshke 2026-01-02 07:19:50 Re: Create unique GiST indexes