搭pl/proxy集群(三)

2015-01-27 22:41:00 · 作者: · 浏览: 91
next rec;
end loop;
return;
end;
$function$;

select * from datasch.test_pl_clust('select count(*) from pg_class') as t(i int8);


proxy=> select * from test_pl_clust('select count(*) from pg_user') as t(k int8);
k
---
3
3
3
3
(4 rows)


proxy=> select sum(k) from test_pl_clust('select count(*) from pg_user') as t(k int8);
sum
-----
12
(1 row)

附记
1
pl/proxy源码下载地址,好像是吧
http://pgfoundry.org/projects/plproxy

2
官网上记录的一个bug
dumpall 不能正常工作
http://pgfoundry.org/tracker/index.php?func=detail&aid=1011283&group_id=1000207&atid=814

pg_dumpall sorts 'create server FOREIGN DATA WRAPPER' options
(keys) as varchar and not as integer.
Example from dumped sql (see "pX" option key):

CREATE SERVER can_master_cluster FOREIGN DATA WRAPPER plproxy OPTIONS (
connection_lifetime '1800',
p0 'dbname=database11 host=xxx-11 port=9811',
p1 'dbname=database12 host=xxx-12 port=9812',
p10 'dbname=database21 host=xxx-21 port=9821',
p11 'dbname=database22 host=xxx-22 port=9822',
p12 'dbname=database23 host=xxx-23 port=9823',
p13 'dbname=database24 host=xxx-24 port=9824',
p14 'dbname=database25 host=xxx-25 port=9825',
p15 'dbname=database26 host=xxx-26 port=9826',
p2 'dbname=database13 host=xxx-13 port=9813',
p3 'dbname=database14 host=xxx-14 port=9814',
p4 'dbname=database15 host=xxx-15 port=9815',
p5 'dbname=database16 host=xxx-16 port=9816',
p6 'dbname=database17 host=xxx-17 port=9817',
p7 'dbname=database18 host=xxx-18 port=9818',
p8 'dbname=database19 host=xxx-19 port=9819',
p9 'dbname=database20 host=xxx-20 port=9820'
);

which causes next error during the load:
ERROR: Pl/Proxy: partitions must be numbered consecutively
HINT: next valid partition number is 2
STATEMENT: CREATE SERVER can_master_cluster ...

Old 9.0 'pg_dumpall' doing job correct.
?