日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

pgpool mysql_pgpool-II 入门教程

發(fā)布時間:2023/12/31 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pgpool mysql_pgpool-II 入门教程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

pgpool-II 入門教程

歡迎閱讀 pgpool-II 入門教程。從本教程中,你將學(xué)會如何安裝,設(shè)置 pgpool-II 以及使用 pgpool-II 運(yùn)行并行查詢和復(fù)制。我們假設(shè)你已經(jīng)知道PostgreSQL的基礎(chǔ)操作,所以如果有需要,請先參考 PostgreSQL 的文檔。

目錄1. 讓我們開始吧!1.1. 安裝 pgpool-II1.2. 配置文件1.3. 配置 PCP 命令1.4. 準(zhǔn)備數(shù)據(jù)庫節(jié)點(diǎn)1.5. 啟動/停止 pgpool-II2. 你的第一個復(fù)制2.1. 配置復(fù)制2.2. 檢查復(fù)制3. 你的第一個并行查詢3.1. 配置并行查詢3.2. 配置系統(tǒng)數(shù)據(jù)庫3.3. 定義分發(fā)規(guī)則3.4. 定義復(fù)制規(guī)則3.5. 檢查并行查詢

1. 讓我們開始吧!

首先,在使用復(fù)制和并行查詢前,我們必須學(xué)習(xí)如何安裝、配置 pgpool-II 和數(shù)據(jù)庫節(jié)點(diǎn)。

1.1. 安裝 pgpool-II

安裝 pgpool-II 非常簡單。在你解壓源碼 tar 包的目錄中,執(zhí)行以下命令。

$ ./configure

$ make

$ make install

configure 腳本收集你的系統(tǒng)信息并用于編譯過程。你可以通過傳遞命令行參數(shù)到 configure 腳本來改變它的默認(rèn)行為,例如安裝目錄。默認(rèn)情況下,pgpool-II將安裝到 /usr/local 目錄。

make 命令編譯源碼,make install 命令將安裝執(zhí)行文件。你必須對安裝目錄有寫入權(quán)限。

在本教材中,我們將安裝 pgpool-II 到默認(rèn)的 /usr/local 目錄中。

注: pgpool-II 需要 PostgreSQL 7.4 或更高版本(版本 3 的協(xié)議)的 libpq 。如果 configure 腳本顯示以下的錯誤信息,則可能是 libpq 庫沒有被安裝或者它不是版本 3 的。

configure: error: libpq is not installed or libpq is old

如果是版本 3 的庫,但還是顯示了以上消息,則你的 libpq 庫可能無法被 configure 腳本識別。

configure 腳本會在 /usr/local/pgsql 目錄搜索 libpq 庫。如果你安裝 PostgreSQL 到 /usr/local/pgsql 之外的其他目錄,在執(zhí)行 configure 時,請使用 --with-pgsql ,或者同時使用 --with-pgsql-includedir 和 --with-pgsql-libdir 的命令行選項。

1.2. 配置文件

pgpool-II 的配置參數(shù)保存在 pgpool.conf 文件中。文件以每行 “parameter = value” 的格式保存。當(dāng)你安裝 pgpool-II 后, pgpool.conf.sample 被自動建立。我們建議拷貝或者重命名它為 pgpool.conf ,然后你可以隨意編輯它。

$ cp /usr/local/etc/pgpool.conf.sample /usr/local/etc/pgpool.conf

pgpool-II 默認(rèn)只接受到 9999 端口的本地連接。如果你希望從其他主機(jī)接受連接,請設(shè)置 listen_addresses 為 '*'.

listen_addresses = 'localhost'

port = 9999

在本教程中我們將使用默認(rèn)參數(shù)。

1.3. 配置 PCP 命令

pgpool-II 有一個用于管理功能的接口,用于通過網(wǎng)絡(luò)獲取數(shù)據(jù)庫節(jié)點(diǎn)信息、關(guān)閉 pgpool-II 等。要使用 PCP 命令,必須進(jìn)行用戶認(rèn)證。這種認(rèn)證和 PostgreSQL 的用戶認(rèn)證不同。這需要在 pcp.conf 文件中定義一個用戶和密碼。在這個文件中,一個用戶名和密碼成對地出現(xiàn)在每一行中,它們用冒號(:)隔開。密碼為用 md5 哈希加密的格式。

postgres:e8a48653851e28c69d0506508fb27fc5

在你安裝 pgpool-II時, pcp.conf.sample 被自動建立。我們建議復(fù)制一份并重命名為 pcp.conf 并且編輯它。

$ cp /usr/local/etc/pcp.conf.sample /usr/local/etc/pcp.conf

為了加密你的密碼為 md5 哈希格式,請使用 pg_md5 命令,它作為 pgpool-II 執(zhí)行文件套件的一部分被安裝。pg_md5 使用一個命令行參數(shù),并顯示它的 md5 哈希文本。

例如,使用 “postgres” 作為命令行參數(shù),pg_md5 會顯示 md5 哈希的文本到標(biāo)準(zhǔn)輸出。

$ /usr/bin/pg_md5 postgres

e8a48653851e28c69d0506508fb27fc5

PCP 命令通過網(wǎng)絡(luò)執(zhí)行,所以必須在 pgpool.conf 文件中配置 pcp_port 端口。

在本教程中,我們將使用默認(rèn)的 9898 作為 pcp_port 的參數(shù)。

pcp_port = 9898

1.4. 準(zhǔn)備數(shù)據(jù)庫節(jié)點(diǎn)

現(xiàn)在,我們需要設(shè)置用于 pgpool-II 的后臺 PostgreSQL 服務(wù)器了。這些服務(wù)器可以與 pgpool-II

在同一臺主機(jī)上,也可以在獨(dú)立的主機(jī)上。如果你決定將所有服務(wù)器都放在同一臺主機(jī)上,必須為每個服務(wù)分配不同的端口。如果服務(wù)器被安置在不同的機(jī)器上,他

們必須被正確以便可以通過網(wǎng)絡(luò)接受 pgpool-II 的連接。

在本教程中,我們將三臺服務(wù)器放在與 pgpool-II 相同的機(jī)器上,分別給它們分配端口號 5432,5433,5434。要配置 pgpool-II,請如下編輯 pgpool.conf。backend_hostname0 = 'localhost'

backend_port0 = 5432

backend_weight0 = 1

backend_hostname1 = 'localhost'

backend_port1 = 5433

backend_weight1 = 1

backend_hostname2 = 'localhost'

backend_port2 = 5434

backend_weight2 = 1

分別為 backend_hostname,backend_port,backend_weight 設(shè)置節(jié)點(diǎn)的主機(jī)名,端口號和負(fù)載均衡系數(shù)。在每個參數(shù)串的后面,必須通過添加從0開始(例如 0,1,2,…)的整數(shù)來指出節(jié)點(diǎn)編號。

backend_weight 參數(shù)都為 1 ,這意味著 SELECT 查詢被平均分配到三臺服務(wù)器上。

1.5. 啟動/停止 pgpool-II

要啟動 pgpool-II,在終端中執(zhí)行以下命令。

$ pgpool

然而,以上的命令不打印日志信息,因為 pgpool 脫離終端了。如果你想顯示 pgpool 日志信息,你需要傳遞 -n 到 pgpool 命令。此時 pgpool-II 作為非守護(hù)進(jìn)程模式運(yùn)行,也就不會脫離終端了。

$ pgpool -n &

日志消息會打印到終端,所以推薦使用如下的選項。

$ pgpool -n -d > /tmp/pgpool.log 2>&1 &

-d 選項啟用調(diào)試信息生成。

以上命令持續(xù)追加日志消息到 /tmp/pgpool.log 中。如果你需要切換日志文件,可以將日志傳遞到一個支持日志輪換功能的外部命令。例如,你可以使用 Apache2 帶的 rotatelogs 工具。

$ pgpool -n 2>&1 | /usr/local/apache2/bin/rotatelogs \

-l -f /var/log/pgpool/pgpool.log.%A 86400 &

這將生成名稱類似于 “pgpool.log.Thursday” 的日志文件,然后在每天午夜 00:00 輪換日志文件。如果日志文件已經(jīng)存在,rotatelogs 將追加日志到這個文件中。如果想在輪換前刪除舊日志文件,你可以使用 cron:

55 23 * * * /usr/bin/find /var/log/pgpool -type f -mtime +5 -exec /bin/rm -f '{}' \;

請注意 rotatelogs 在某些發(fā)行版中可能存在于 /usr/sbin/rotatelogs2 。-f 選項讓 rotatelogs 在啟動的時候生成一個日志文件,這個功能隨 apache 2.2.9 或更高版本提供。

而且 cronolog 對你可能有用。

$ pgpool -n 2>&1 | /usr/sbin/cronolog \

--hardlink=/var/log/pgsql/pgpool.log \

'/var/log/pgsql/%Y-%m-%d-pgpool.log' &

要停止 pgpool-II 進(jìn)程,執(zhí)行以下的命令。

$ pgpool stop

如果還有客戶端連接著, pgpool-II 等待它們斷開連接,然后才結(jié)束運(yùn)行。如果你想強(qiáng)制關(guān)閉 pgpool-II ,執(zhí)行以下的命令來代替之前的命令。

$ pgpool -m fast stop

2. 你的第一個復(fù)制

復(fù)制可以讓相同的數(shù)據(jù)拷貝到多個數(shù)據(jù)庫節(jié)點(diǎn)。

在本節(jié)中,我們將使用三個已經(jīng)在“1. 讓我們開始吧!”小節(jié)中設(shè)置好了的數(shù)據(jù)庫節(jié)點(diǎn),一步步建立數(shù)據(jù)庫復(fù)制系統(tǒng)。用于復(fù)制的示例數(shù)據(jù)將由 pgbench 基準(zhǔn)測試程序生成。

2.1. 配置復(fù)制

要啟用數(shù)據(jù)庫復(fù)制功能,需要設(shè)置 pgpool.conf 文件中的 replication_mode 為 true 。

replication_mode = true

當(dāng) replication_mode 被設(shè)置為 true,pgpool-II 將發(fā)送一份接收到的查詢的拷貝到所有的數(shù)據(jù)庫節(jié)點(diǎn)。

當(dāng) load_balance_mode 被設(shè)置為 true,pgpool-II 將在數(shù)據(jù)庫節(jié)點(diǎn)之間分發(fā) SELECT 查詢。

load_balance_mode = true

在本章中,我們將同時啟用 replication_mode 和 load_balance_mode 。

2.2. 檢查復(fù)制

要使 pgpool.conf 中的改動生效,必須重啟 pgpool-II 。請參考“1.5 啟動/停止 pgpool-II”小節(jié)。

在配置完 pgpool.conf 且重新啟動 pgpool-II 后,讓我們試試復(fù)制,檢查它是否工作正常。

首先,我們需要建立一個用于復(fù)制的數(shù)據(jù)庫。我們將給它命名為“bench_replication”。這個數(shù)據(jù)庫需要被建立在所有的節(jié)點(diǎn)中。在 pgpool-II 中使用 createdb 命令,數(shù)據(jù)庫將被在所有節(jié)點(diǎn)中建立。

$ createdb -p 9999 bench_replication

然后,使用 -i 選項執(zhí)行 pgbench。-i 使用預(yù)設(shè)的表和數(shù)據(jù)初始化這個數(shù)據(jù)庫。

$ pgbench -i -p 9999 bench_replication

下表是通過 pgbench -i 建立的表和數(shù)據(jù)的摘要。如果在所有的節(jié)點(diǎn)中,列出的表和數(shù)據(jù)都被建立了,則說明復(fù)制運(yùn)行正常。

表名

行數(shù)

branches

1

tellers

10

accounts

100000

history

0

讓我們使用一個簡單的 shell 腳本在所有節(jié)點(diǎn)中檢查以上內(nèi)容。以下腳本將顯示所有的節(jié)點(diǎn)中 branches,tellers,accounts 和 history 表的行數(shù)。

$ for port in 5432 5433 5434; do

> echo $port

> for table_name in branches tellers accounts history; do

> echo $table_name

> psql -c "SELECT count(*) FROM $table_name" -p $port bench_replication

> done

> done

3. 你的第一個并行查詢

在并行查詢中,不同范圍的數(shù)據(jù)存儲在兩個或更多數(shù)據(jù)庫節(jié)點(diǎn)中。這叫做分區(qū)。而且,即使在并行查詢模式中,你也可以在數(shù)據(jù)庫節(jié)點(diǎn)之間對一些表進(jìn)行復(fù)制。

為了在 pgpool-II 中啟用并行查詢,你必須設(shè)置另一個叫做“系統(tǒng)數(shù)據(jù)庫”的數(shù)據(jù)庫(本系統(tǒng)數(shù)據(jù)庫為 pgpool-II 使用的用于存放信息的數(shù)據(jù)庫)。

系統(tǒng)數(shù)據(jù)庫包含用戶定義的用來確定數(shù)據(jù)將包含到哪個數(shù)據(jù)庫中的規(guī)則。另一個系統(tǒng)數(shù)據(jù)庫的用途是使用 dblink 將從數(shù)據(jù)庫節(jié)點(diǎn)發(fā)回的數(shù)據(jù)合并。

在本章,我們將使用我們在“1. 讓我們開始吧!”小節(jié)中設(shè)置好的三個數(shù)據(jù)庫節(jié)點(diǎn),并帶領(lǐng)你一步步建立一個并行查詢數(shù)據(jù)庫系統(tǒng)。我們同樣會再次使用 pgbench 來創(chuàng)建示例數(shù)據(jù)。

3.1. 配置并行查詢

要啟用并行查詢功能,請設(shè)置 pgpool.conf 文件中的parallel_mode 為 true 。

parallel_mode = true

僅僅設(shè)置 paralle_mode 為 true 不會自動啟動并行查詢。pgpool-II 需要系統(tǒng)數(shù)據(jù)庫和用于分發(fā)數(shù)據(jù)到數(shù)據(jù)庫節(jié)點(diǎn)的規(guī)則。

而且,系統(tǒng)數(shù)據(jù)庫使用的 dblink 需要連接到 pgpool-II。因此,需要設(shè)置 listen_addresses 以便 pgpool-II 接受這些連接。

listen_addresses = '*'

注意:你可以同時擁有分區(qū)表和復(fù)制表。但是一個表不能同時被分區(qū)和復(fù)制。因為分區(qū)表和復(fù)制表的結(jié)構(gòu)不同,“2. 你的第一個復(fù)制”小節(jié)中建立的“bench_replication”數(shù)據(jù)庫無法用于并行查詢模式。

replication_mode = true

load_balance_mode = false

或者

replication_mode = false

load_balance_mode = true

在本小節(jié),我們將設(shè)置 parallel_mode 和 load_balance_mode 為 true,listen_addresses 為 '*',replication_mode為 false 。

3.2. 配置系統(tǒng)數(shù)據(jù)庫

“系統(tǒng)數(shù)據(jù)庫”實際上就是一個普通的數(shù)據(jù)庫。只是必須在系統(tǒng)數(shù)據(jù)庫中安裝 dblink 函數(shù)和用于描述分區(qū)規(guī)則的 dist_def 表。你可以讓系統(tǒng)數(shù)據(jù)庫存放于某個數(shù)據(jù)庫節(jié)點(diǎn)中,也可以通過級聯(lián)的方式配置 pgpool-II,讓多個數(shù)據(jù)庫節(jié)點(diǎn)擁有系統(tǒng)數(shù)據(jù)庫。

在本小節(jié),我們將在 5432 端口的節(jié)點(diǎn)建立 SystemDB。以下列出了系統(tǒng)數(shù)據(jù)庫的配置參數(shù)。

system_db_hostname = 'localhost'

system_db_port = 5432

system_db_dbname = 'pgpool'

system_db_schema = 'pgpool_catalog'

system_db_user = 'pgpool'

system_db_password = ''

實際上,以上為 pgpool.conf 的默認(rèn)設(shè)置。現(xiàn)在,我們必須建立一個叫做“pgpool”的用戶,并建立一個屬主為“pgpool”的名為“pgpool”的數(shù)據(jù)庫。

$ createuser -p 5432 pgpool

$ createdb -p 5432 -O pgpool pgpool

3.2.1. 安裝 dblink

然后,我們必須在“pgpool”數(shù)據(jù)庫中安裝 dblink。dblink 是包含在 PostgreSQL 源碼包 contrib 目錄中包含的一個工具。

要在你的系統(tǒng)中安裝 dblink,請執(zhí)行以下命令。

$ USE_PGXS=1 make -C contrib/dblink

$ USE_PGXS=1 make -C contrib/dblink install

在 dblink 被安裝到你的系統(tǒng)中后,我們將在“pgpool”數(shù)據(jù)庫中定義 dblink 函數(shù)。如果 PostgreSQL 被安裝到 /usr/local/pgsql,dblink.sql(一個包含函數(shù)定義的文件)應(yīng)該被安裝到了 /usr/local/pgsql/share/contrib。那么,執(zhí)行以下的命令來定義 dblink 函數(shù)。

$ psql -f /usr/local/pgsql/share/contrib/dblink.sql -p 5432 pgpool

3.2.2. 定義 dist_def 表

在數(shù)據(jù)庫“pgpool”中定義一個“dist_def”表,用于保存分區(qū)規(guī)則。在 pgpool-II 安裝后,你會得到一個 system_db.sql,它是一個可用于生成系統(tǒng)數(shù)據(jù)庫的 psql 腳本。

$ psql -f /usr/local/share/system_db.sql -p 5432 -U pgpool pgpool

dist_def 表被建立到 pgpool_catalog 這個 schema 中。如果你配置 system_db_schema 使用了其他的 schema,你需要相應(yīng)地編輯 system_db.sql。

“dist_def的定義如下,且表名不能被改變。

CREATE TABLE pgpool_catalog.dist_def (

dbname text, -- database name

schema_name text, -- schema name

table_name text, -- table name

col_name text NOT NULL CHECK (col_name = ANY (col_list)), -- distribution key-column

col_list text[] NOT NULL, -- list of column names

type_list text[] NOT NULL, -- list of column types

dist_def_func text NOT NULL, -- distribution function name

PRIMARY KEY (dbname, schema_name, table_name)

);

“dist_def”中保存的 tuple 可以被分為兩類。

分發(fā)規(guī)則 (col_name, dist_def_func)

表的元信息 (dbname, schema_name, table_name, col_list, type_list)

分發(fā)規(guī)則確定如何分發(fā)數(shù)據(jù)到特定節(jié)點(diǎn)。數(shù)據(jù)將依賴“col_name”的值來進(jìn)行分發(fā)。“dist_def_func”是一個函數(shù),它使用“col_name”列的值做參數(shù),返回一個指出數(shù)據(jù)將要存儲的數(shù)據(jù)庫節(jié)點(diǎn) ID 的適當(dāng)整數(shù)。

元信息用于重寫查詢。并行查詢必須重寫查詢比便讓從后臺節(jié)點(diǎn)返回的數(shù)據(jù)可以被合并為一個結(jié)果集。

3.2.2. 定義 replicate_def 表

如果你想在 SELECT 語句的并行模式中使用復(fù)制的表,你需要在一個叫做 replicate_def

的表中注冊這些表的信息(復(fù)制規(guī)則)。replicate_def 表在定義 dist_def 表的時候已經(jīng)由 system_db.sql

創(chuàng)建。replicate_def 表的定義如下。

CREATE TABLE pgpool_catalog.replicate_def (

dbname text, -- database name

schema_name text, -- schema name

table_name text, -- table name

col_list text[] NOT NULL, -- list of column names

type_list text[] NOT NULL, -- list of column types

PRIMARY KEY (dbname, schema_name, table_name)

);

3.3. 定義分發(fā)規(guī)則

在本教材中,我們將定義規(guī)則用于分發(fā) pgbench 的示例數(shù)據(jù)到三個數(shù)據(jù)庫節(jié)點(diǎn)中。示例數(shù)據(jù)將通過“pgbench -i -s 3”(例如比例因子為3)建立。在本小節(jié),我們將建立一個叫“bench_parallel”的新數(shù)據(jù)庫。

在 pgpool-II 的源碼中在,你可以在 sample 目錄中找到 dist_def_pgbench.sql 文件。我們將使用這個示例文件來為 pgbench 建立分發(fā)規(guī)則。在解壓后的 pgpool-II 的源碼目錄中執(zhí)行以下命令。

$ psql -f sample/dist_def_pgbench.sql -p 5432 pgpool

以下為 dist_def_pgbench.sql 的說明。

在 dist_def_pgbench.sql中,我們往“dist_def”表中插入一行。這里有一個為 accounts 表準(zhǔn)備的分發(fā)函數(shù)。作為關(guān)鍵列,aid 被定義在每個 accounts 表中(也是主鍵)。

INSERT INTO pgpool_catalog.dist_def VALUES (

'bench_parallel',

'public',

'accounts',

'aid',

ARRAY['aid', 'bid', 'abalance', 'filler'],

ARRAY['integer', 'integer', 'integer', 'character(84)'],

'pgpool_catalog.dist_def_accounts'

);

現(xiàn)在,我們必須為 accounts 表定義分發(fā)函數(shù)。注意你可以對不同的表使用相同的函數(shù)。而且,你可以使用 SQL 之外的語言定義函數(shù)(例如 PL/pgSQL,PL/Tcl 等等)。

accounts 表在初始化時指定了比例因子為 3,aid 的值為 1 到 300000。函數(shù)被定義為使數(shù)據(jù)平均分布到三個數(shù)據(jù)庫節(jié)點(diǎn)中。

SQL 函數(shù)將定義為返回數(shù)據(jù)庫節(jié)點(diǎn)的編號。

CREATE OR REPLACE FUNCTION pgpool_catalog.dist_def_branches(anyelement)

RETURNS integer AS $$

SELECT CASE WHEN $1 > 0 AND $1 <= 1 THEN 0

WHEN $1 > 1 AND $1 <= 2 THEN 1

ELSE 2

END;

$$ LANGUAGE sql;

3.4. 定義復(fù)制規(guī)則

復(fù)制規(guī)則是定義某個表是否被復(fù)制的規(guī)則。

以下表是 pgbench 生成的。branches 表和 tellers 表已經(jīng)注冊。作為結(jié)果,accounts 表和使用 branches 表和 tellers 表的查詢已經(jīng)可用。

INSERT INTO pgpool_catalog.replicate_def VALUES (

'bench_parallel',

'public',

'branches',

ARRAY['bid', 'bbalance', 'filler'],

ARRAY['integer', 'integer', 'character(88)']

);

INSERT INTO pgpool_catalog.replicate_def VALUES (

'bench_parallel',

'public',

'tellers',

ARRAY['tid', 'bid', 'tbalance', 'filler'],

ARRAY['integer', 'integer', 'integer', 'character(84)']

);

在 sample 目錄中已經(jīng)準(zhǔn)備好了 replicate_def_pgbench.sql 文件。在源碼目錄中使用以下方法來定義一個復(fù)制規(guī)則。執(zhí)行以下 psql 命令。

$ psql -f sample/replicate_def_pgbench.sql -p 5432 pgpool

3.5. 檢查并行

要使 pgpool.conf 中的改動生效,pgpool-II 必須重啟。請參考“1.5 啟動/停止 pgpool-II”小節(jié)。

在配置好 pgpool.conf 并重啟 pgpool-II 后,讓我們試試并查看并行查詢是否運(yùn)行正常。

首先,我們需要建立一個用于分發(fā)的數(shù)據(jù)庫。我們將給它命名為“bench_parallel”。這個數(shù)據(jù)庫需要在所有節(jié)點(diǎn)上被建立。通過 pgpool-II 使用 createdb 命令,則數(shù)據(jù)庫將被獎勵在所有節(jié)點(diǎn)上。

$ createdb -p 9999 bench_parallel

然后,我們將使用 -i -s 3 選項執(zhí)行 pgbench 。-i 選項使用預(yù)定義的表和數(shù)據(jù)初始化數(shù)據(jù)庫。 -s 選項指出用于初始化的比例因子。

$ pgbench -i -s 3 -p 9999 bench_parallel

建立的表和數(shù)據(jù)在 “3.3. 定義分發(fā)規(guī)則”小節(jié)中列出來了。

檢查數(shù)據(jù)是否被正確分發(fā)的一個方法是通過 pgpool-II 和直接在后臺節(jié)點(diǎn)執(zhí)行一個 SELECT 查詢,然后比較兩個結(jié)果。如果所有都配置正確,“bench_parallel”應(yīng)該按以下樣子分布。

表名

行數(shù)

branches

3

tellers

30

accounts

300000

history

0

讓我們使用一段簡單的 shell 腳本來在所有的節(jié)點(diǎn)上和通過 pgpool-II 檢查以上的內(nèi)容。以下腳本將使用 5432,5433,5434 和 9999 端口顯示 accounts 表中最小和最大的值。

$ for port in 5432 5433 5434 9999; do

> echo $port

> psql -c "SELECT min(aid), max(aid) FROM accounts" -p $port bench_parallel

> done

總結(jié)

以上是生活随笔為你收集整理的pgpool mysql_pgpool-II 入门教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。