PL/Proxy 和 PostgreSQL 集群的結構關系可以用下圖清楚地表示,對PL/Proxy和PostgreSQL集群還不太了解的朋友可以看 Skype Plans for PostgreSQL to Scale to 1 Billion Users 這篇文章。 以下操作是在三臺不同機器上執行的情況,其中plproxy節點的機器名是P1,數據庫節點的機器名分別是D1和D2。機器硬件配置如下,同時需要Linux-4.2、postgresql-8.3.0和plproxy-2.0.4,pgbouncer的安裝過程略去。
plproxy節點:
node1節點:
node2節點:
1. 在P1, D1,D2上安裝postgresql-8.3.0,并創建URTCluster數據庫
## Compile and install
## Add Unix User
## Init DB and Start service
## Create DB and Use Local Connection
##檢查數據庫是否已經創建
#D1,D2必須允許P1訪問
#添加postgres用戶的認證
# 重起服務器
2. 在P1上安裝plproxy-2.0.4
#檢查$PATH變量里是否有/home/y/pgsql/bin目錄,如果沒有,修改你的.bash_profile文件,添加/home/y/pgsql/bin到path里。
gunzip plproxy-2.0.4.tar.gz
#創建plproxy
3. 在P1, D1,D2上安裝plpgsql sudo -u postgres /home/y/pgsql/bin/createlang plpgsql URTCluster 4. 在P1上創建schema
sudo -u postgres /home/y/pgsql/bin/psql -d URTCluster
5. 在P1上初始化設置 #plproxy的配置是通過三個函數(過程)實現的,這三個函數的標準模版如下:
#這個函數是讓plproxy可以找到對應的集群
#這個函數是plproxy用于判斷是否給前端返回已經cache過的結果用的
#這個函數是獲取不同的集群的配置
#把這三個函數放在一個URTClusterInit.sql文件里,并執行
6. 在D1,D2節點上設置
#給每個數據庫節點都創建一張表users
#給每個數據庫節點都創建一個插入函數
#把函數保存在 URTClusterNodesInit_1.sql文件里,并執行
7. 在P1節點上設置
#在 plproxy 節點上創建一個同名的插入函數,用于進行集群檢索
#在 plproxy 節點上創建一個查詢函數,用于進行集群檢索
#把函數保存在 URTClusterProxyExec.sql文件里,并執行
8. 在P1上測試結果 sudo -u postgres /home/y/pgsql/bin/psql -d URTCluster
SELECT insert_user(’Sven’,’sven@somewhere.com’);
SELECT insert_user(’Marko’, ‘marko@somewhere.com’);
SELECT insert_user(’Steve’,’steve@somewhere.cm’);
SELECT get_user_email(’Sven’);
|
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
