Привязать координатор postgres-xl для прослушивания только на определенном интерфейсе

Я пытаюсь привязать координатор, чтобы прослушивать только определенный интерфейс. Кажется, опция listen_addressses игнорируется, когда указывается в postgresql.conf для координатора.

В каталоге данных координатора есть еще один файл с именем postmaster.opts, который, по-видимому, сбрасывается каждый раз, когда pgxc_ctl подключается к координатору для его запуска / остановки.

Если бы я мог включить опцию -h в этот файл, тогда координатор был бы привязан к IP по моему выбору.

Интересно, что GTM будет связываться с IP, если он указан в listen_addresses. Координатор, ни узел данных не будут.

Я просмотрел документацию по postgres-xl, документацию по pgxc_ctl, список рассылки и Google в целом, но не смог найти, как это сделать. Мое последнее средство - прочитать кодовую базу (что я сейчас пытаюсь сделать).

--- редактировать 1:

Похоже на то listen_addressses почитается до тех пор, пока postgres не начинается с -i переключатель. По какой-то причине pgxc_ctl добавляет -i список параметров вызова в postmaster.opts, когда на координатора.

--- редактировать 2:

Похоже на то -i опция добавляется в исходный код при запуске координатора (и узла данных). Так что единственный способ двигаться вперед - это исправлять и перестраивать из исходников.

--- редактировать 3:

Я тестировал pgxc_ctl при сборке с изменениями, внесенными в datanode_cmd.c, а также ordin_cmd.c (удален -o -i переключается со всех вызовов на pg_ctl). Благодаря этому координатор и узел данных теперь привязываются к интерфейсу, как указано в listen_addresses в postgresql.conf, Было бы интересно понять, почему -o -i был жестко закодирован. Задача решена.

0 ответов

Другие вопросы по тегам