偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

CentOS plproxy查詢安裝pgsql編譯源碼

系統(tǒng) Linux
安裝CentOS plproxy只在proxy上安裝,node不用安裝解包make && make install添加CentOS plproxy支持psql -f /usr/local/pgsql/share/contrib/plproxysql 數(shù)據(jù)庫名在P1上創(chuàng)建schema psql testproxy 用psql客戶端連接數(shù)據(jù)庫create schema plproxy; 生成schemavi MyClusterInitsql,然后把下面的內(nèi)容保存:(去掉注釋)begin

CentOS plproxy經(jīng)過長時間的發(fā)展,這里我發(fā)表一下個人理解,下面就這就來講術CentOS plproxy。CentOS plproxy需求: 工作需要3種集群模式.

  1. pgCluster全熱備集群都讀寫每臺節(jié)點都保持數(shù)據(jù)完整  
  2. pg Slony-I or II主從集群從只讀主讀寫  
  3. pg plporxy分流特性負載平衡分布到節(jié)點上 

目的: 在 CentOS plproxy 上做查詢,從node返回結果環(huán)境: 3臺centos:  1臺做CentOS plproxy   2臺做node步驟: 如下:
 
1 安裝pgsql,所有pgsql都要裝版本3xx編譯源碼,rpm 都可以安裝方法看readme或者install文檔源碼安裝默認都裝在/usr/local/pgsql/下處理一下環(huán)境變量的問題export PATH=$PATH:/usr/local/pgsql/bin初始化數(shù)據(jù)庫目錄initdb -D /usr/local/pgsql/data
  
生成一個數(shù)據(jù)庫createdb 數(shù)據(jù)庫名添加plpgsql語言支持createlang plpgsql 數(shù)據(jù)庫名修改 pgsql 的配置文件vi /usr/local/pgsql/data/postgresqlconf取消注釋listen_addresses = '*'port = 5432添加用戶認證host 數(shù)據(jù)庫名 用戶名 ip地址 trust
  
2   安裝CentOS plproxy只在proxy上安裝,node不用安裝解包make && make install添加CentOS plproxy支持psql -f /usr/local/pgsql/share/contrib/plproxysql 數(shù)據(jù)庫名在P1上創(chuàng)建schema psql testproxy 用psql客戶端連接數(shù)據(jù)庫create schema plproxy; 生成schemavi MyClusterInitsql,然后把下面的內(nèi)容保存:(去掉注釋)begin

  1. CREATE OR REPLACE FUNCTION plproxyget_cluster_partitions(cluster_name text)  
  2. RETURNS SETOF text AS $$  
  3. BEGIN  
  4. IF cluster_name = 'MyCluster' THEN  
  5. RETURN NEXT 'dbname=test1 host=1921681190';<----節(jié)點ip  
  6. RETURN NEXT 'dbname=test2 host=1921681193';<----節(jié)點ip 
  1. RETURN;  
  2. END IF;  
  3. RAISE EXCEPTION 'Unknown cluster';  
  4. END;  
  5. $$ LANGUAGE plpgsql; 
  1. CREATE OR REPLACE FUNCTION plproxyget_cluster_version(cluster_name text)  
  2. RETURNS int4 AS $$  
  3. BEGIN  
  4. IF cluster_name = 'MyCluster' THEN  
  5. RETURN 1;  
  6. END IF;  
  7. RAISE EXCEPTION 'Unknown cluster';  
  8. END;  
  9. $$ LANGUAGE plpgsql; 
  1. create or replace function plproxyget_cluster_config(cluster_name text, out key text, out val text)  
  2. returns setof record as $$  
  3. begin  
  4. key :'statement_timeout';  
  5. val :60;  
  6. return next;  
  7. return;  
  8. end; $$ language plpgsql; 

end psql -f MyClusterInitsql -d testproxy執(zhí)行上述sql語句以上CentOS plproxy設置完成開始節(jié)點的設置:給每個節(jié)點都創(chuàng)建一個函數(shù):方法同上:

vi到一個文件中,然后執(zhí)行這個文件內(nèi)容如下:
begin create or replace function publicdquery(query text) returns setof record as $$declare   ret record;beginfor ret in execute query loopreturn next ret;end loop;return;end;$$ language plpgsql;create or replace function publicddlExec(query text) returns integer as $$declare   ret integer;begin execute query;   return 1;end;$$ language plpgsql;create or replace function publicdmlExec(query text) returns integer as $$declare   ret integer;begin execute query;   return 1;end;$$ language plpgsql; end psql -f 這個文件名 -d database name -h ip地址

4 然后在proxy上建立相同的函數(shù),用于集群檢索建立,執(zhí)行方法同上:
CREATE OR REPLACE FUNCTION publicdquery(query text) RETURNS setofrecord AS $$CLUSTER 'MyCluster';RUN ON ALL;$$ LANGUAGE CentOS plproxy;CREATE OR REPLACE FUNCTION publicddlexec(query text) RETURNS setof integerAS $$CLUSTER 'MyCluster';RUN ON ALL;$$ LANGUAGE CentOS plproxy;CREATE OR REPLACE FUNCTION publicdmlexec(query text) RETURNS setof integerAS $$CLUSTER 'MyCluster';RUN ON ANY;$$ LANGUAGE plproxy; done  

5 CentOS plproxy測試   方法:在proxy,nodes上建立相同的表   用select,insert,del 在proxy執(zhí)行然后每個node上都有響應   代碼: select * from publicddlexec( 'create table usertable(id primary key,username varchar(20)'   );在數(shù)據(jù)節(jié)點上生成一個表usertable,然后可以插入一些數(shù)據(jù)測試:
select * from publicddlexec(
'insert into usertable(id,username) values(1,'aaa')');
  
 6 CentOS plproxy如果失敗請:  參考 pgsql 官方手冊

【編輯推薦】

  1. CentOS SYN Flood攻擊原理Linux下設置
  2. CentOS VNC試驗用的工控機不支持鼠標
  3. CentOS gcc安裝問題的解決方法
  4. CentOS系統(tǒng)是Linux常見版本之一
  5. CentOS PPPOE安裝配置客戶端軟件和前提條件
責任編輯:佚名 來源: CSDN
相關推薦

2021-01-04 08:15:16

CentOS 7Python3.9Python

2011-02-24 15:04:58

ProftpdCentos

2010-01-15 20:59:54

2010-01-13 16:55:10

CentOS PHP安

2010-01-13 15:07:51

2010-02-23 14:45:52

CentOS LEMP

2010-06-02 13:05:14

Sendmail 安裝

2010-01-14 16:53:40

CentOS Apac

2013-04-10 15:12:03

MySQL 5.6

2010-01-13 16:46:44

CentOS Apac

2021-06-08 07:49:29

MySQL數(shù)據(jù)庫索引

2010-01-13 14:18:36

CentOS Open

2010-04-01 13:37:24

CentOS系統(tǒng)5

2010-01-15 10:16:50

CentOS rpm安

2017-03-20 15:08:04

RedisNoSQLcentos6

2010-02-03 09:26:52

Linux Mysql

2010-01-14 16:27:44

CentOS emes

2010-01-15 17:35:09

2010-01-13 10:14:45

2010-01-15 20:43:42

CentOS PHP編
點贊
收藏

51CTO技術棧公眾號