|
From: Michael P. <mic...@gm...> - 2013-10-15 01:23:03
|
On Mon, Oct 14, 2013 at 4:05 PM, admin <ad...@75...> wrote:
> Hello, I'm a newbie and tring to evaluate pgxc for a project.
> I need to say pgxc is an interesting solution of cluster.
> In the evaluation I found some questions, if somebody can answer it I
> will be very glad.
>
> Environment:
> pgxc 1.1, centos 6 32bit in virtualbox
> ServerA:
> gtm
> coord_01
> datanode_01
> ServerB:
> datanode_02
>
> Question:
> a. Is connection secure between coordinator with datanode, or
> coordinator with gtm?
> I tried if datanode only allow password authentication it will not
> accessable from coordinator,
> and gtm have no such config like pg_hba.conf
No there is no option to use SSL between those connections due to the
internal connection pooling implementation. This is a TODO item.
> b. What is the warning "Do not have a GTM snapshot available" mean?
This warning means that you got a problem when trying to request a
global snapshot when issuing a query on a node. This was for example
reproducible easily by running a query directly on a Datanode without
going though a Coordinator for example.
> c. If gtm_proxy go after gtm, it will direct exit, is it a problem?
> Example if I'm going to write a loader, step cannot be
> gtm_ctl -Z gtm -D gtm start
> gtm_ctl -Z gtm_proxy -D gtm_proxy start
> but must be
> gtm_ctl -Z gtm -D gtm start
> [wait the port use by gtm open]
> gtm_ctl -Z gtm_proxy -D gtm_proxy start
Do you mean if gtm_proxy is started before gtm? Perhaps others
(Pavan?) will correct me, but isn't the gtm_proxy to not exit directly
and wait for a port open?
> d. Check only one node is primary seems have a bug, example:
> select * from pgxc_node;
> "coord_01";"C";5432;"localhost";f;f;1975432854
> "datanode_02";"D";15432;"192.168.8.184";f;f;-1414354208
> "datanode_01";"D";15432;"192.168.8.183";t;t;-1746477557
>
> select pgxc_pool_reload();
> (success)
> alter node datanode_01 with (port=15433);
> ERROR: PGXC node datanode_01: two nodes cannot be primary
> alter node datanode_01 with (primary=true);
> ERROR: PGXC node datanode_01: two nodes cannot be primary
> alter node datanode_01 with (primary=false);
> (success)
Definitely looks like a bug as you are describing it.
> These command all done in the same session open from pgadmin.
> e. I cant set primary key to a table if remote node added, is it not
> supported yet?
> alter table test add primary key (id);
> ERROR: Cannot create index whose evaluation cannot be enforced to remote
> nodes
You need either to make the table test replicated, or hashed using id
as a key in this case. AFAIK pgadmin does not provide support for the
XC-specific query extensions, but you can always run raw SQLs.
> f. I cant modify value of sequence, is it not supported yet?
> select setval('public.test_01_id_seq', 123, true);
> ERROR: GTM error, could not obtain sequence value
This should be supported.
> g. I found some time field name and its type will exchange,
> like "name with type text" some time will trun to "text with type name",
> and type "name" is not valid.
> I have no reproduction way yet but is it a known bug?
Can you provide a test case here?
> h. I found some time sequence from serial will broken then i can't
> insert any data,
> select nextval('public.test_01_id_seq');
> ERROR:
> Status: XX00
> I can upload database files if you need.
Not sure I am following you here.
> i. Is there some way to get what nodes are using with the table?
> These command can manage nodes with table
> alter table tablename add node ...
> alter table tablename delete node ...
> alter table tablename to node ...
> but I dont known what command can list what nodes are using with the table.
pgxc_class contains a list of node OIDS to know where the table data
is located referring to the nodes in pgxc_node.
> j. Is this project ready for production use?
Some do.
--
Michael
|