postgreSQL使用plproxy搭建集群注意的方面
来源:互联网 发布:城市公园命名数据库 编辑:程序博客网 时间:2024/06/05 09:23
PostgreSQL版本9.3 plproxy版本2.5
1在安装plprox后使用make installcheck来检查是否安装正确,提示错误,需要创建root用户,并且要创建数据及登陆的权限。并且登陆认证的时候,pg_hba.conf文件中的
方法要使用trust,不能使md5,所有的数据库认证都是trust。
2在安装plproxy的时候,使用make installcheck来检测,有一个错误,这个我忽略了,后面也没什么问题。
============== running regression test queries ==============
test plproxy_init ... ok
test plproxy_test ... ok
test plproxy_select ... ok
test plproxy_many ... ok
test plproxy_errors ... ok
test plproxy_clustermap ... ok
test plproxy_dynamic_record ... ok
test plproxy_encoding ... FAILED (test process exited with exit code 2)
test plproxy_split ... ok
test plproxy_target ... ok
test plproxy_alter ... ok
test plproxy_cancel ... ok
test plproxy_sqlmed ... ok
test plproxy_table ... ok
test plproxy_range ... ok
3我在安装的时候没有找到contrib下的plproxy.sql,但是在extension下是有的,我执行了下面的命令。
./psql -U postgres -h 127.0.0.1 -f /orainst/pgsql/share/extension/plproxy--2.5.0.sql -d MyCluster
4查找数据库节点的三个函数如下:
CREATE OR REPLACE FUNCTION plproxy.get_cluster_config(IN cluster_name text, OUT "key" text, OUT val text)
RETURNS SETOF record AS
$BODY$
BEGIN
key := 'statement_timeout';
val := 60;
RETURN NEXT;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100
ROWS 1000;
CREATE OR REPLACE FUNCTION plproxy.get_cluster_partitions(cluster_name text)
RETURNS SETOF text AS
$BODY$
BEGIN
IF cluster_name = 'My' THEN
RETURN NEXT 'dbname=MyCluster host=192.168.56.102';
RETURN NEXT 'dbname=MyCluster host=192.168.56.103';
RETURN;
END IF;
RAISE EXCEPTION 'Unknown cluster';
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100
ROWS 1000;
CREATE OR REPLACE FUNCTION plproxy.get_cluster_version(cluster_name text)
RETURNS integer AS
$BODY$
BEGIN
IF cluster_name = 'My' THEN
RETURN 1;
END IF;
RAISE EXCEPTION 'Unknown cluster';
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
5在proxy数据库上创建下面的函数的时候总是提示没有plproxy语言,查看pg_language果然没有,后来检查发现是在proxy数据库上设置plproxy的时候没有指定数据库,建到postgres数据库上去了。要注意创建在正确的数据库上面。
create or replace function insert_user(i_username text,i_emailaddress text) returns integer as $$ cluster 'My';run on hashtext(i_use
rname);$$ LANGUAGE 'plproxy';
create or replace function get_user_email(i_username text) returns text as $$ cluster 'My';return on hashtext(i_username);
select email from china where username=i_username;
$$ LANGUAGE 'plproxy';
- postgreSQL使用plproxy搭建集群注意的方面
- 配置一个使用plproxy的PostgreSQL数据库集群
- 使用Plproxy设计PostgreSQL分布式数据库01
- 使用Plproxy设计PostgreSQL分布式数据库02
- 使用Plproxy设计PostgreSQL分布式数据库03
- Postgresql分布式插件plproxy
- postgresql使用RHCS套件搭建HA高可用集群
- plproxy的调用流程
- PostgreSQL cluster: partitioning with plproxy (part I)
- PostgreSQL cluster: partitioning with plproxy (part II)
- A Smart PostgreSQL extension plproxy 2.2 practices
- 利用pgpool-II搭建postgresql集群的并行查询模式
- 闪回时应注意的方面
- 使用magent搭建memcached 分布式集群注意点
- 使用CSS float元素时应注意的三个方面
- Postgresql使用注意小技巧
- nise_bosh搭建cloudfoundry集群时注意的细节
- 搭建ubuntu + storm集群的一些注意日志
- IIS7中的站点、应用程序和虚拟目录详细介绍
- c++ 学习 随笔三
- 我的csdn
- iOS 中文与UTF8编码之间的相互转换
- Jprofiler在连接初期常出现JVM退出错误The JVM has exited.Some profiling information will not be available.
- postgreSQL使用plproxy搭建集群注意的方面
- 烂泥:学习mysql数据库主从同步复制原理
- <四>Oracle创建sequence序列,实现主键自增长
- 求逆序数(光影切割问题)
- 一切成功源于积累——20141121 因为有钱,因为任性
- 采用CSS3设计的登陆界面
- Floating Point IEEE745
- 一步一步学zedboard之十一可用bootloader的生成
- spring security之DelegatingFilterProxy和FilterChainProxy