Проблема с датодами на кластере postgres-XL

Postgres-XL работает не так, как ожидалось.

Я настроил кластер Postgres-XL, как показано ниже:

GTM, работающий на узле 3 GMT_Proxy, работающий на узле 2 и узле 1 Координаторы и датоды, работающие на узле 2 и узле 1.

Когда я пытаюсь выполнить любую операцию, соединяющуюся с базой данных напрямую, я получаю следующую ошибку, которая все равно ожидается.

postgres=# create table test(eno integer);
ERROR:  cannot execute CREATE TABLE in a read-only transaction

Но когда я вхожу через координатора, появляется следующее сообщение об ошибке:

postgres=# \l+
ERROR:  Could not begin transaction on data node.

в postresql.logЯ вижу ниже ошибки. Есть идеи, что делать?

2016-06-26 20:20:29.786 AEST,"postgres","postgres",3880,"192.168.87.130:45479",576fabb5.f28,1,"SET",2016-06-26 20:17:25 AEST,2/31,0,ERROR,22023,"node ""coord1_3878"" does not exist",,,,,,"SET global_session TO coord1_3878;SET parentPGXCPid TO 3878;",,,"pgxc"
2016-06-26 20:20:47.180 AEST,"postgres","postgres",3895,"192.168.87.131:45802",576fac7d.f37,1,"SELECT",2016-06-26 20:20:45 AEST,3/19,0,LOG,00000,"No nodes altered. Returning",,,,,,"SELECT pgxc_pool_reload();",,,"psql"
2016-06-26 20:21:12.147 AEST,"postgres","postgres",3897,"192.168.87.131:45807",576fac98.f39,1,"SET",2016-06-26 20:21:12 AEST,3/22,0,ERROR,22023,"node ""coord1_3741"" does not exist",,,,,,"SET global_session TO coord1_3741;SET parentPGXCPid TO 3741;",,,"pgxc"



PostresXL version - 9.5 r1.1
psql (PGXL 9.5r1.1, based on PG 9.5.3 (Postgres-XL 9.5r1.1))

Идея муравья для этого?

2 ответа

Похоже, вы не очень хорошо настроили pgxc_ctl. Просто введите

prepare config minimal

в командной строке pgxc_ctl, которая сгенерирует вам общий файл pgxc_ctl.conf, который вы можете изменить соответствующим образом.

И вы можете следовать официальной документации Postgres XL, чтобы добавить узлы из командной строки pgxc_ctl как John H предложил.

Мне удалось исправить мою проблему:

1) Использовал источник из репозитория git, ветка XL9_5_STABLE ( https://git.postgresql.org/gitweb/?p=postgres-xl.git;a=summary). Исходный архив, который они предоставляют по адресу http://www.postgres-xl.org/download/, не работал для меня

2) Использовал pgxc_ctl, как указано выше. Я получаю Не удалось получить идентификатор транзакции из GTM из-за того факта, что при добавлении gtm я использовал localhost вместо ip.

добавить мастер gtm локальный хост gtm 20001 $dataDirRoot/gtm

вместо

добавить мастер gtm gtm 10.222.1.49 20001 $dataDirRoot/gtm

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