Markus Schiltknecht <markus@bluegap.ch> writes:
> I've just run into a race condition with creating a database and
> connecting to it immediately afterwards. I'm getting a "database %s not
> found" error just after the first flatfiles check in InitPostgres().
In what PG version?
> What that FindMyDatabase() there does, besides checking if the database
> exists, is getting the database and tablespace OIDs, right? Why does the
> postmaster not pass those instead of the database name?
Because the postmaster doesn't have direct database access. If it did,
any corruption of shared memory would risk crashing the postmaster
along with the backends.
regards, tom lane