On Wed, Apr 17, 2013 at 01:08:18PM -0600, Mike Roest wrote: > Hi There, > I'm having a bit of an issue finding a C function to fetch the configured > server port from a C module. > > We have written a C module to allow for remote clients to call a function to > run pg_dump/pg_restore remotely but create files locally on the db server. > > Currently it works fine if the client connects through a network socket as > we're using inet_server_port to get the port to pass onto pg_dump/restore. But > if the client is connected through a unix socket (actually a remote client > connecting to pgbouncer which is connecting to postgres though the unix socket) > inet_server_port is null. I've looked for a function that we can use to get > the configured server port but haven't had any luck. > > I could hard code the port in the module when we build it but it would be nice > to be able to change the configured postgres port and not have to rebuild the > module. Well, there are technically no _ports_ in unix-domain sockets. However, the TCP port number is used to construct the socket file; I think you can use the simple "port" server-side variable for this; does this help you? test=> SELECT setting FROM pg_settings WHERE name = 'port'; setting --------- 5432 (1 row) -- Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general