Hello, Patch attached below. TLDR, I'd like to add "host" to the startup packet.
I'm trying to run multiple Postgres servers in a multi-tenant environment behind a pooler <https://github.com/postgresml/pgcat>. Currently, the only way to differentiate Postgres databases is with the user/dbname combination which are very often included in the startup packet by the client. However, that's not sufficient if you have users that all want to have the user "admin" and the database "production" :) HTTP hosting providers solved this using the "Host" header, allowing the server to identify which website the client wants. In the case of Postgres, this is the DNS or IP address, depending on the client configuration. Upon receiving a startup packet with user, dbname, and host, the pooler (acting also as a proxy) can validate that the credentials exist for the host and that they are valid, and authorize or decline the connection. I have never submitted a patch for Postgres before, so I'm not entirely sure how to test this change, although it seems pretty harmless. Any feedback and help are appreciated! Thank you! Best, Lev
host.patch
Description: Binary data