Re: FDW and connections

From: Phil Godfrin <pgodfrin(at)comcast(dot)net>
To: "tsunakawa(dot)takay(at)fujitsu(dot)com" <tsunakawa(dot)takay(at)fujitsu(dot)com>
Cc: "philippe(dot)godfrin(at)nov(dot)com" <philippe(dot)godfrin(at)nov(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: FDW and connections
Date: 2021-05-17 01:52:49
Message-ID: d4831fed-76d3-f2f2-b5b2-cefc4aac3ad5@comcast.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Apologies, in my mind this was an internals to the postgres_fdw code,
which is why I cam here. I checked that part of the docs and nowhere
does it say anything about defaulting to 5432. However in the referred
section,  34.1.2, there it says that libpq defaults to the "port number
established when PostgreSQL was built". I'm not well informed about the
internals of libpq nor the mailing lists, again I'm sorry. Seems to me I
need to learn more about both <grin>. Thanks.

pg

On 5/16/2021 7:43 PM, tsunakawa(dot)takay(at)fujitsu(dot)com wrote:
>
> From: Phil Godfrin <pgodfrin(at)comcast(dot)net>
>
> My question is - how does the call to GetConnection() know what port
> to use? Lets say we're using PGBouncer to connect on the local server
> at port 6432, but there is no pgbouncer listening at the foreign
> server, what port gets passed? My first thought is whatever the client
> connects port is, but I believe pgbouncer ultimately hands of the
> connection to whatever port you have defined for the local database...
>
> This gets important when one has an HAProxy instance between the local
> and foreign servers which is interrogating the port number to decide
> which ip:port to send the request to, ultimately the master or
> replicant at the foreign remoter server.
>
> So how does the port number get propagated from local to foreign server???
>
> --------------------------------------------------
>
> postgres_fdw uses libpq as a client to connect to the foreign server.
> So, as the following says, you can specify the libpq's "port"
> parameter in CREATE SERVER.  If it's ommitted as in your case, the
> default 5432 will be used.
>
> F.35.1.1. Connection Options
>
> https://www.postgresql.org/docs/devel/postgres-fdw.html
>
> "A foreign server using the postgres_fdw foreign data wrapper can have
> the same options that libpq accepts in connection strings, as
> described in Section 34.1.2, except that these options are not allowed
> or have special handling:"
>
> I'm afraid it's better to post user-level questions like this to
> pgsql-general(at)lists(dot)postgresql(dot)org(dot)
>
> Regards
>
> Takayuki Tsunakawa
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2021-05-17 01:55:57 Re: Rewriting the test of pg_upgrade as a TAP test - take three - remastered set
Previous Message Kyotaro Horiguchi 2021-05-17 01:36:51 Re: Possible memory corruption (src/timezone/zic.c b/src/timezone/zic.c)