0

我正在尝试将协调器绑定为仅侦听特定接口。在协调器上的 postgresql.conf 中指定时,似乎忽略了 listen_addressses 选项。

在协调器数据目录中还有另一个名为 postmaster.opts 的文件,似乎每次 pgxc_ctl 连接到协调器以启动/停止它时都会重置它。

如果我可以在该文件中包含 -h 选项,那么协调器将绑定到我选择的 IP。

有趣的是,如果在 listen_addresses 中指定,GTM 将绑定到 IP。协调器和数据节点都不会。

我一般浏览了 postgres-xl 文档、pgxc_ctl 文档、邮件列表和谷歌,但找不到如何做到这一点。我最后的手段是通读代码库(我现在正在尝试这样做)。

--- 编辑 1:

listen_addressses只要 postgres 不以-iswitch开头,似乎就很荣幸。由于某种原因,pgxc_ctl-i在协调器上添加到 postmaster.opts 中的调用参数列表。

--- 编辑 2:

-i启动协调器(和数据节点)时,似乎在源代码中添加了选项。因此,前进的唯一方法是从源头修补和重建。

--- 编辑 3:

-o -i在对 datanode_cmd.c 和 coord_cmd.c 进行更改(从所有对 pg_ctl 的调用中删除了开关)进行构建时,我一直在测试 pgxc_ctl 。通过这样做,协调器和数据节点现在都绑定到接口,listen_addressespostgresql.conf. -o -i理解为什么是硬编码会很有趣。问题解决了。

4

0 回答 0