As a cloud service, Azure Database for PostgreSQL uses a gateway proxy to route connections to a node hosting the actual server. To do that, the proxy needs to know the name of the server it tries to locate. As a work-around we currently overload the username parameter to pass in the server name using username@servername convention. It is purely a convention that our customers need to follow and understand. We would like to extend the PgSQL connection protocol to add an optional parameter for the server name to help with this scenario.
Proposed changes: Change the Postgres wire protocol to include server name in the startup message. This field can be an optional field driven by the connection parameters for psql (-N, --servername). We need this extra parameter for backward compatibility. Make PostgreSQL server aware of the new field, and accept the startup message containing this field. Though server doesn't need this field, this change helps making the server name by default included in the startup message in future. P.S: I would like to get some initial feedback on this idea and will provide more design details if required. Any feedback in this regard is really appreciated. Thanks, Satya