七叶笔记 » 数据库 » Postgresql分布式插件plproxy的使用详解

Postgresql分布式插件plproxy的使用详解

节点60(proxy)

Configuring Pl/Proxy clusters with SQL/MED

节点60(proxy)

Partitioned remote call

节点60(proxy)

节点61/62(datanode)

Putting it all together

节点60(proxy)

plproxy–2.7.0.sql

补充:PostgreSQL 水平分库——plproxy

1、PL/Proxy安装

1、1 编译安装

1、2 创建pl/proxy扩展

2、pl/proxy配置

修改数据库节点pg_hba.conf:

修改两个数据节点的pg_hba.conf,保证代理节点可以访问。

在SQL/MED方法在pl/proxy节点进行集群配置:

配置完成!在"CLUSTER"模式中;才需要上述配置;在"CONNECT"模式中是不需要的。

3、pl/proxy测试

在两个数据节点创建测试表:

3、1数据水平拆分测试

在每个数据节点创建insert函数接口

–pl_db0节点一样

2、在PL/Proxy数据库创建同名的insert函数接口

3、在PL/Proxy数据库创建读的函数get_user_name()

4、在pl/proxy节点插入数据进行测试

5、在节点数据库查看数据分布情况

我们在proxy节点查询下:

因为创建insert_user函数时使用的是ROW ON ANY,表示随机再一台机器上进行执行,因此实现了数据在不同节点的随机分布,接下来改成ROW ON ALL,实验在不同节点进行数据的复制。

run on , 是数字常量, 范围是0 到 nodes-1; 例如有4个节点 run on 0; (run on 4则报错).

run on ANY,

run on function(…), 这里用到的函数返回结果必须是int2, int4 或 int8.

run on ALL, 这种的plproxy函数必须是returns setof…, 实体函数没有setof的要求.

3、2数据复制测试

选择users表作为实验对象;我们先清理表users数据;在数据节点创建truncatet函数接口

2、在PL/Proxy数据库创建同名的truncate函数接口

–检查发现数据已经清理掉了

3、在PL/Proxy数据库创建函数接口 insert_user_2

4、插入几条数据

5、查看每个节点数据情况

两个数据节点的数据一样,实现了数据的复制。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持七叶笔记。如有错误或未考虑完全的地方,望不吝赐教。

相关文章