複製鏈接
請複製以下鏈接發送給好友

PL/Proxy

鎖定
PL/Proxy是一個採用PL Language語言的數據庫分區系統。
外文名
PL/Proxy
屬    性
採用PL Language語言的數據庫分區系統

PL/Proxy產品介紹

它的理念是代理遠程函數調用同樣標籤創建的函數,所以,代理的目標信息需要在代理函數體內指定。

PL/Proxy特性

1、PL/Proxy 函數從自己的標籤中檢測遠程函數調用
2、函數可以是一個,也可以是集羣中的某一個
3、如果查詢被分割, 它將併發執行
4、查詢在遠程服務器上運行在自動提交模式下
5、查詢參數與查詢體分開傳送,因此避免了在兩端的quoting/unquoting 開銷
6、不包含代碼連接池,如果需要,可採用外部池程序。

PL/Proxy示例

PL/Proxy簡單示例

鏈接本地數據庫"users" 調用SQL function : SELECT * FROM get_user_email($1);
CREATE FUNCTION get_user_email(username text) RETURNS text AS $$ CONNECT 'dbname=users';$$ LANGUAGE plproxy;

PL/Proxy複雜示例

Users被放在了不同的數據庫中,通過 hashtext(username) .分配不同的編號
CREATE FUNCTION get_user_email(username text) RETURNS text AS $$
CLUSTER 'userdb';
RUN ON hashtext(username);
$$ LANGUAGE plproxy;