I was just combing through an Oracle control file, it occured to me that a
pre-forking Postgres could be designed to work similar to Oracle.
Oracle has a listener keyed to an IP port. The instance of the listener is
configured to listen for a particular database instance. This may be a bit
flakey, but hear me out here. This would be similar to having Postgres listen on
different ports.
A single Postgres instance can start and run as it does now, but it can also be
configured to prefork "listeners" for specified databases on different ports.
That way you do not need the main postgres instance to be able to pass the socket
to the forked child. Also, in the configuration files for the "listeners" you
could also specify Postgres settings for each database.