概述PL/Proxy 是一个采用PL Language语言的数据库分区系统。
它的理念是代理远程函数调用同样标签创建的函数,所以,代理的目标信息需要在代理函数体内指定。
特性1)PL/Proxy 函数从自己的标签中检测远程函数调用
2)函数可以是一个,也可以是集群中的某一个
3)如果查询被分割, 它将并发执行
4)查询在远程服务器上运行在自动提交模式下
5)查询参数与查询体分开传送,因此避免了在两端的quoting/unquoting 开销
6)不包含代码连接池,如果需要,可采用外部池程序。
示例简单示例链接本地数据库"users" 调用SQL function :SELECT * FROM get_user_email($1);
CREATE FUNCTION get_user_email(username text) RETURNS text AS $$ CONNECT 'dbname=users';$$ LANGUAGE plproxy;复杂示例 Users被放在了不同的数据库中,通过hashtext(username).分配不同的编号
CREATE FUNCTION get_user_email(username text) RETURNS text AS $$
CLUSTER 'userdb';
RUN ON hashtext(username);
$$ LANGUAGE plproxy;