postgres-XL集群上的数据节点问题

时间:2016-06-26 10:49:29

标签: postgresql postgres-xl postgres-xc

Postgres-XL 无法按预期工作。

我已经配置了 Postgres-XL 群集,如下所示:

GTM在node3上运行 GMT_Proxy在node2和node1上运行 在node2和node1上运行的协调器和数据节点。

当我尝试直接连接到数据库的任何操作时,无论如何都会出现以下错误。

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))

Ant的想法是什么?

2 个答案:

答案 0 :(得分:1)

我设法解决了我的问题:

1)使用git存储库中的源XL9_5_STABLE分支(https://git.postgresql.org/gitweb/?p=postgres-xl.git;a=summary)。他们在http://www.postgres-xl.org/download/提供的源tarball对我不起作用

2)如上所述使用pgxc_ctl。我得到了无法从GTM获取事务ID,因为添加gtm时我使用的是localhost而不是ip。

添加gtm master gtm localhost 20001 $ dataDirRoot / gtm

而不是

添加gtm master gtm 10.222.1.49 20001 $ dataDirRoot / gtm

答案 1 :(得分:1)

好像你还没有真正配置好pgxc_ctl。只需输入

即可
John H

在pgxc_ctl命令行中,它将为您生成一个可以相应修改的常规pgxc_ctl.conf文件。

您可以按照官方postgres XL文档添加pgxc_ctl命令行中的节点,建议为UPDATE GeoAgentSummary set out = #45:0, in = #21:0, _2015 = sum(_2015, 10.0f) upsert where out = #45:0 and in = #21:0