Обсуждение: postgres 9 bind address for replication

Поиск
Список
Период
Сортировка

postgres 9 bind address for replication

От
Adam Crews
Дата:
Hello,

I'm sorry for cross-posting, however I originally posted this to
pgsql-general list, but didnt get any replies.


I’m using pg 9.1.3 on CentOS 5 and have a few slave databases setup
using the built in streaming replication.

On the slaves I set the “listen_addresses” config option to an ip
address for a virtual alias on my network interfaces.  The host has an
address of 10.1.1.10, and there is a virtual alias of 10.1.1.40 that
the slave postmaster binds to.

When the slave makes it connection to the master to start replication
the source address for the connection is the host address, not the
virtual alias address.  Connections appear to come from 10.1.1.10,
instead of the slave postmaster address of 10.1.1.40.

This seems like a bug to me.  I could understand that if the
postmaster is listening on all interfaces, then it should use whatever
the IP is for the for the host, but in an instance where the
postmaster has been configured to listen to a specific address it
seems like the call to start the replication should be passed that
address so connections come from the slave postmaster’s IP, instead of
the host.

Is there a config option that can be used to adjust this?  I've looked
in the docs, but haven't found one yet.

Is this perhaps a bug, or lack of feature?

Thanks
-Adam

Re: postgres 9 bind address for replication

От
Robert Haas
Дата:
On Sat, Jul 21, 2012 at 1:24 AM, Adam Crews <adam.crews@gmail.com> wrote:
> Hello,
>
> I'm sorry for cross-posting, however I originally posted this to
> pgsql-general list, but didnt get any replies.
>
>
> I’m using pg 9.1.3 on CentOS 5 and have a few slave databases setup
> using the built in streaming replication.
>
> On the slaves I set the “listen_addresses” config option to an ip
> address for a virtual alias on my network interfaces.  The host has an
> address of 10.1.1.10, and there is a virtual alias of 10.1.1.40 that
> the slave postmaster binds to.
>
> When the slave makes it connection to the master to start replication
> the source address for the connection is the host address, not the
> virtual alias address.  Connections appear to come from 10.1.1.10,
> instead of the slave postmaster address of 10.1.1.40.
>
> This seems like a bug to me.  I could understand that if the
> postmaster is listening on all interfaces, then it should use whatever
> the IP is for the for the host, but in an instance where the
> postmaster has been configured to listen to a specific address it
> seems like the call to start the replication should be passed that
> address so connections come from the slave postmaster’s IP, instead of
> the host.
>
> Is there a config option that can be used to adjust this?  I've looked
> in the docs, but haven't found one yet.
>
> Is this perhaps a bug, or lack of feature?

I don't think it's a bug, because the behavior you're hoping for might
not be what everyone would want in a similar situation.  It might
qualify as an unimplemented feature.

This mailing list isn't heavily used and this seems a bit off-topic
for it anyway; you might want to try a different one for further
discussion of this issue.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company