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

Reply via email to