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  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to