<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ststyle.net &#187; PostgreSQL</title>
	<atom:link href="http://www.ststyle.net/weblog/archives/tag/postgresql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ststyle.net/weblog</link>
	<description>Just another ststyle techlog</description>
	<lastBuildDate>Mon, 19 Jul 2010 13:53:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PostgreSQl チューニング</title>
		<link>http://www.ststyle.net/weblog/archives/449</link>
		<comments>http://www.ststyle.net/weblog/archives/449#comments</comments>
		<pubDate>Fri, 23 Oct 2009 07:25:21 +0000</pubDate>
		<dc:creator>ststyle</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[tuning]]></category>

		<guid isPermaLink="false">http://www.ststyle.net/weblog/?p=449</guid>
		<description><![CDATA[チューニング(多少の..)
チューニング(多少の&#8230;) （実メモリ1G）
postgreSQlの再起動
PostgreSQLの再起動時に
This error usually means that Postgr [...]]]></description>
			<content:encoded><![CDATA[<p>チューニング(多少の..)</p>
<pre class="brush: bash; auto-links: false;">

ipcs -lm

------ シェアードメモリの制限 --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 1073741824
min seg size (bytes) = 1

echo $((4194303 / 1024))=4095
echo $((1073741824 / 1024 / 1024)) = 1024:1G
</pre>
<p>チューニング(多少の&#8230;) （実メモリ1G）</p>
<pre class="brush: bash; auto-links: false;">

su postgres
vi /var/pgsql/data/postgresql.conf

同時接続数
max_connections = 50

共有バッファを増やす（物理メモリの 1/4～1/2)
#shared_buffers = 32MB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # min 128kB or max_connections*16kB
&darr;
shared_buffers = 512MB&nbsp;&nbsp;&nbsp; (物理メモリの1/4～1/2(DBが主な仕事の場合))

#参考値
#1000ページ(8MB)
#2000ページ(16MB)
#4000ページ(32MB)
#8000ページ(64MB)
#16000ページ(128MB)
#32000ページ(256MB)
#64000ページ(512MB)
#128000ページ(1024MB)(1G)
#256000ページ(2048MB)(2G)
#512000ページ(4096MB)(4G)
#1024000ページ(8012MB)(8G)

●テンプバッファの調整
#temp_buffers = 8MB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # min 800kB
&darr;
temp_buffers = 16MB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # min 800kB

●ソートメモリ
#work_mem = 1MB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # min 64kB
&darr;
work_mem = 8MB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # min 64kB

●トランザクションログバッファの調整
wal_buffers = 64kB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # min 32kB
&darr;
wal_buffers = 256kB
</pre>
<p>postgreSQlの再起動</p>
<pre class="brush: bash; auto-links: false;">

pg_ctl restart
</pre>
<p>PostgreSQLの再起動時に<br />
<span style="color: #ff0000;">This error usually means that PostgreSQL&#8217;s request for<br />
a shared memory segment exceeded your kernel&#8217;s SHMMAX<br />
parameter.云々<br />
</span>といわれる時は<br />
/proc/sys/kernel/shmmax の値を増やします</p>
<pre class="brush: bash; auto-links: false;">

#echo 130023424 &amp;gt; /proc/sys/kernel/shmmax&nbsp; 等
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ststyle.net/weblog/archives/449/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>postgres-dblink インストール</title>
		<link>http://www.ststyle.net/weblog/archives/446</link>
		<comments>http://www.ststyle.net/weblog/archives/446#comments</comments>
		<pubDate>Fri, 23 Oct 2009 07:17:40 +0000</pubDate>
		<dc:creator>ststyle</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[dblink]]></category>

		<guid isPermaLink="false">http://www.ststyle.net/weblog/?p=446</guid>
		<description><![CDATA[postgres-dblinkでは
接続中のPostgreSQLで他のPostgreSQLデータベースのデータにアクセスする為のライブラリ
contribで提供されているdblinkを利用します
postgres-dbl [...]]]></description>
			<content:encoded><![CDATA[<p>postgres-dblinkでは</p>
<p><em>接続中のPostgreSQL</em>で他の<em>PostgreSQL</em>データベースのデータにアクセスする為のライブラリ</p>
<p>contribで提供されている<em>dblink</em>を利用します</p>
<p>postgres-dblinkインストール</p>
<p>postgresのsrcディレクトリ内のcontrib/dblinkへ移動</p>
<pre class="brush: bash; auto-links: false;">

su postgres
make
make install

$ psql -U postgres -d {DBNAME} &amp;lt; dblink.sql
</pre>
<p>※{DBNAME}はdblinkを利用したいデータベース名。<br />
これをtemplate1とすることで今後作成するデータベースで利用できるようになる。</p>
<p>● 使用方法<br />
&#8220;[" と "]&#8221; で括られている接続識別名は省略可能です。<br />
ただし接続識別名を接続時に指定した場合は常に必要です。※ &#8220;[" および "]&#8221; は記述不要。</p>
<p>* アクセスしたいテーブルなどがあるデータベースに接続<br />
select dblink_connect(['{接続識別名}', ]&#8216;{接続文字列}&#8217;);<br />
※    {接続文字列}にはlibpqのPQconnectdb関数で利用するキーワードを記述します。<br />
参照.) PostgreSQLマニュアル &#8211; libpq &#8211; Cライブラリ &#8211; データベース接続制御関数<br />
ex.)<br />
select dblink_connect(&#8217;conn1&#8242;,<br />
&#8216;host=dbsv port=5432 dbname=mydb user=scott password=tiger&#8217;);<br />
* 検索(SELECT)<br />
select *<br />
from dblink(['{接続識別名}', ]<br />
&#8217;select {列名}[, {列名}...]<br />
from {オブジェクト名}&#8217;)<br />
t1({列名} {データ型}[, {列名} {データ型}...]);<br />
ex.)<br />
select *<br />
from dblink(&#8217;conn1&#8242;,<br />
&#8217;select oid, relname<br />
from pg_class&#8217;)<br />
t1(oid oid, relname text);<br />
* 更新(UPDATE/INSERT/DELETE)<br />
select dblink_exec(['{接続識別名}', ]{DML文}[, fail_on_error]);<br />
ex.)<br />
select dblink_exec(&#8217;conn1&#8242;,<br />
&#8216;delete from emp where empno=7800&#8242;);<br />
* データベースから切断<br />
select dblink_disconnect(['{接続識別名}']); ex.)<br />
select dblink_disconnect(&#8217;conn1&#8242;);</p>
<h3>dblinkのテスト</h3>
<p>接続</p>
<pre class="brush: bash; auto-links: false;">

select dblink_connect(&#039;conn1&#039;,&#039;host=XXXXX port=5432 dbname=replication user=XXX password=XXXX&#039;);
</pre>
<p>切断</p>
<pre class="brush: bash; auto-links: false;">

select dblink_disconnect(&#039;conn1&#039;);
</pre>
<p>検索</p>
<pre class="brush: bash; auto-links: false;">

select dblink_connect(&#039;conn1&#039;,&#039;host=データベース1 port=5432 dbname=replication user=XXX password=XXX&#039;);
select * from dblink(&#039;conn1&#039;,&#039;select a from rep&#039;) t1(a integer);
select * from dblink(&#039;conn1&#039;,&#039;select count(*) as cnt from rep&#039;) t1(cnt integer);
select dblink_disconnect(&#039;conn1&#039;);

select dblink_exec(&#039;conn1&#039;,&#039;delete from emp where empno=7800&#039;);

select dblink_connect(&#039;conn1&#039;,&#039;host=データベース1 port=5432 dbname=replication user=XXX password=XXX&#039;);
select dblink_connect(&#039;conn2&#039;,&#039;host=データベース2 port=5432 dbname=replication user=XXX password=XXX&#039;);

select *
from
dblink(&#039;conn1&#039;,&#039;select count(*) as cnt from rep&#039;) t1(cnt integer),
dblink(&#039;conn2&#039;,&#039;select count(*) as cnt from rep&#039;) t2(cnt integer)
;
</pre>
<p>おー素晴らしいー</p>
<p>異なるデータベースをひとつのSQL文で取得できちゃいました。</p>
<pre class="brush: bash; auto-links: false;">
cnt | cnt
-----+-----
10 |&nbsp; 10
(1 row)
</pre>
<p>select dblink_disconnect(&#8217;conn1&#8242;);</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ststyle.net/weblog/archives/446/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pgbench インストール</title>
		<link>http://www.ststyle.net/weblog/archives/443</link>
		<comments>http://www.ststyle.net/weblog/archives/443#comments</comments>
		<pubDate>Fri, 23 Oct 2009 07:04:49 +0000</pubDate>
		<dc:creator>ststyle</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[pgbench]]></category>
		<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://www.ststyle.net/weblog/?p=443</guid>
		<description><![CDATA[pgbenchにてpostgreSQLの
ベンチマークを測定する事ができます
言うまでもありませんがポスグレをインストールしたサーバで行います。
pgbenchのインストール
ベンチマーク用データベースを作成し、初期化
 [...]]]></description>
			<content:encoded><![CDATA[<p>pgbenchにてpostgreSQLの</p>
<p>ベンチマークを測定する事ができます</p>
<p>言うまでもありませんがポスグレをインストールしたサーバで行います。</p>
<h3>pgbenchのインストール</h3>
<pre class="brush: bash; auto-links: false;">
su postgres
cd /usr/local/src/postgresql-8.3.4/contrib/pgbench
make
make install
</pre>
<p>ベンチマーク用データベースを作成し、初期化</p>
<pre class="brush: bash; auto-links: false;">

createdb pgbench
pgbench -i pgbench
</pre>
<h3>測定評価</h3>
<p>tps(trunsaction per second)値が高いほど良い</p>
<p>デフォルトはクライアント数1、トランザクション数10で</p>
<p>SELECT,INSERT,UPDATEが実行される<br />
tpsは1秒間に処理可能なトランザクション数で</p>
<p>数字が大きいほど性能が良いということ<br />
2行の違いは接続の確立に要した時間を含むか含まないか</p>
<p>SELECTのみをクライアント数10、トランザクション数100とする場合は</p>
<pre class="brush: bash; auto-links: false;">

$ pgbench -S -c 10 -t 100 pgbench
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ststyle.net/weblog/archives/443/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pgpoolAdmin インストール</title>
		<link>http://www.ststyle.net/weblog/archives/438</link>
		<comments>http://www.ststyle.net/weblog/archives/438#comments</comments>
		<pubDate>Fri, 23 Oct 2009 06:57:09 +0000</pubDate>
		<dc:creator>ststyle</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[pgpool-II]]></category>
		<category><![CDATA[pgpoolAdmin]]></category>

		<guid isPermaLink="false">http://www.ststyle.net/weblog/?p=438</guid>
		<description><![CDATA[pgpoolAdminはpgpoolの管理をするためのツールです。
GUIベースで、pgpoolの状態監視や起動・停止、pgpool.confの設定を行うことができます.
pgpoolAdminの取得
pgpoolAdm [...]]]></description>
			<content:encoded><![CDATA[<p><em>pgpoolAdmin</em>はpgpoolの管理をするためのツールです。</p>
<p>GUIベースで、pgpoolの状態監視や起動・停止、pgpool.confの設定を行うことができます.</p>
<h3>pgpoolAdminの取得</h3>
<p><a href="http://pgfoundry.org/frs/?group_id=1000055">pgpoolAdmin</a>を入手する</p>
<p>apacheのドキュメントディレクトリにて展開&amp;リネーム</p>
<pre class="brush: bash; auto-links: false;">
tar zxvf pgpoolAdmin-2.1-beta1.tar.gz
mv pgpoolAdmin-2.1-beta1 pgpoolAdmin

chown nobody /usr/local/apache/htdocs_ssl/pgpoolAdmin/conf/pgmgt.conf.php
chmod 644 /usr/local/apache/htdocs_ssl/pgpoolAdmin/conf/pgmgt.conf.php
</pre>
<h3>pcp.confにログインアカウントを登録する</h3>
<p>ここではtestとしていますが実際はセキュアなパスワードを設定する事</p>
<p>md5パスワードを取得</p>
<pre class="brush: bash; auto-links: false;">

/usr/local/pgpool/bin/pg_md5 test

098f6bcd4621d373cade4e832627b4f6
</pre>
<p>pcp.confに追記</p>
<pre class="brush: bash; auto-links: false;">

vi /usr/local/pgpool/etc/pcp.conf

# USERID:MD5PASSWD
test:098f6bcd4621d373cade4e832627b4f6
</pre>
<h3>ブラウザで確認</h3>
<p>http://&lt;サーバ&gt;/pgpoolAdmin/login.php</p>
<p style="padding-left: 30px;"><img class="alignnone size-full wp-image-439" title="pgpoolAdmin" src="http://www.ststyle.net/weblog/wp-content/uploads/2009/10/pgpoolAdmin.jpg" alt="pgpoolAdmin" width="480" height="337" /></p>
<p>TOP画面</p>
<p style="padding-left: 30px;"><img class="alignnone size-full wp-image-440" title="pgpoolAdmin-02" src="http://www.ststyle.net/weblog/wp-content/uploads/2009/10/pgpoolAdmin-02.jpg" alt="pgpoolAdmin-02" width="480" height="337" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ststyle.net/weblog/archives/438/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pgpool-II インストール</title>
		<link>http://www.ststyle.net/weblog/archives/434</link>
		<comments>http://www.ststyle.net/weblog/archives/434#comments</comments>
		<pubDate>Fri, 23 Oct 2009 06:42:08 +0000</pubDate>
		<dc:creator>ststyle</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[pgpool-II]]></category>

		<guid isPermaLink="false">http://www.ststyle.net/weblog/?p=434</guid>
		<description><![CDATA[pgpool-IIはPostgreSQL専用のミドルウェアで，
PostgreSQLのデータベースクライアントとPostgreSQLサーバの間に割り込む形で動作し，
PostgrSQLに以下のような機能を追加します．
・ [...]]]></description>
			<content:encoded><![CDATA[<p>pgpool-IIはPostgreSQL専用のミドルウェアで，</p>
<p>PostgreSQLのデータベースクライアントとPostgreSQLサーバの間に割り込む形で動作し，</p>
<p>PostgrSQLに以下のような機能を追加します．</p>
<p style="padding-left: 30px;">・コネクションプーリング：：接続を保存し，再利用することで接続オーバヘッドを低減しスループット向上を図る</p>
<p style="padding-left: 30px;">・負荷分散：：多数のリクエストをそれぞれのサーバで分担して負荷を軽減させ，システム全体の性能を向上させることができます</p>
<p style="padding-left: 30px;">・レプリケーション：：物理的に2台以上のディスクにリアルタイムで書き込み処理を行い、万が一どれかのディスクに障害が発生しても運用を継続することができます．</p>
<p style="padding-left: 30px;">・パラレルクエリ：：それぞれのサーバに問い合わせを行い、問い合わせの処理時間を短縮</p>
<p>ここでの環境のポート番号は以下のようにしております</p>
<p>※PORT5439にて接続した場合はPGPOOL経由となりレプリケーションなどが働きます。</p>
<p>PGPOOLはメインDBにインストールしています</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p style="padding-left: 30px;">アプリ</p>
<p style="padding-left: 30px;">↓</p>
<p style="padding-left: 30px;">pgpool(5439)</p>
<p style="padding-left: 30px;">↓                    ↓</p>
<p>メインDB(5432)       バックエンドDB(5432)</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<h3>PGPOOLインストール</h3>
<h3>事前準備</h3>
<pre class="brush: bash; auto-links: false;">

su -
mkdir /usr/local/pgpool
chown postgres:postgres /usr/local/pgpool
</pre>
<h3>展開＆インストール</h3>
<pre class="brush: bash; auto-links: false;">

su postgres
cd /usr/local/src/
% tar zxf pgpool-II-2.1.tar.gz
% cd pgpool-II-2.1
% PATH=/usr/local/pgsql/bin:$PATH
% ./configure --prefix=/usr/local/pgpool
% make
% make install
% ls /usr/local/pgpool/bin/pgpool
pgpool
</pre>
<h3>パスの追加</h3>
<p>~/.bashrcにパス追加</p>
<pre class="brush: bash; auto-links: false;">

vi ~/.bashrc
PATH=&quot;$PATH&quot;:/usr/local/pgsql/bin:/usr/local/pgpool/bin

source ~/.bashrc
</pre>
<p>インストールが完了すると設定ファイルの雛形が<br />
作成されるので、これをコピーする。</p>
<pre class="brush: bash; auto-links: false;">

% cp /usr/local/pgpool/etc/pgpool.conf{.sample,}
% cp /usr/local/pgpool/etc/pcp.conf{.sample,}
% cp /usr/local/pgpool/etc/pool_hba.conf{.sample,}
</pre>
<p>以上の設定で、/usr/local/pgpool/etc/pgpool.confがpgpool-IIの設定ファイルになる。</p>
<h3>PGPOOLの起動</h3>
<p>起動するには、</p>
<p>※pgpoolⅡ2.5では/va/run/pgpoolというディレクトリが必要</p>
<p>permission:postgres:postgres</p>
<p>postgres postgres 4096 11月 21 16:05 pgpool</p>
<pre class="brush: bash; auto-links: false;">

% pgpool -n &amp;amp;c
</pre>
<p>とコマンドを入力する。</p>
<h3>PGPOOLの停止</h3>
<pre class="brush: bash; auto-links: false;">

% pgpool -n stop
</pre>
<h3>PGPOOLの自動起動</h3>
<p>pgpoolの起動ですが、<br />
redhat系の場合は自動起動用のスクリプトが<br />
pgpoolのソールディレクトリの<br />
redhat/pgpool.initにあります。<br />
(/usr/local/src/pgpool-II-2.1/redhat/pgpool.init)</p>
<p>スクリプトの最初の方の変数を適宜環境に合せて書き換えて、</p>
<pre class="brush: bash; auto-links: false;">

vi /usr/local/src/pgpool-II-2.1/redhat/pgpool.init

PGPOOLENGINE=/usr/local/pgpool/bin
PGPOOLDAEMON=$PGPOOLENGINE/pgpool
PGPOOLCONF=/usr/local/pgpool/etc/pgpool.conf
PGPOOLPID=/tmp/pgpool.pid
PGPOOLLOG=/var/log/pgpool.log
</pre>
<p>/etc/init.d/pgpoolにコピーします。</p>
<pre class="brush: bash; auto-links: false;">

su -
cp /usr/local/src/pgpool-II-2.1/redhat/pgpool.init /etc/init.d/pgpool
</pre>
<p>これで</p>
<pre class="brush: bash; auto-links: false;">

/etc/init.d/pgpool start
</pre>
<p>で起動できます。</p>
<pre class="brush: bash; auto-links: false;">

su -
cp /usr/local/src/pgpool-II-2.1/redhat/pgpool.init /etc/init.d/pgpool
vi /etc/init.d/pgpool
chkconfig --add pgpool
chkconfig&nbsp; pgpool on

chkconfig --list pgpool

又は

ntsysv でチェックする
</pre>
<h3>PGPOOLの設定</h3>
<p>それでは、実際にレプリケーションを行ってみる。<br />
レプリケーションのために、pgpool.confに以下の項目を追加する。<br />
なお、ここでの例ではPostgreSQLサーバが<br />
localhostの5432ポートで動いているものとする。</p>
<pre class="brush: bash; auto-links: false;">

vi /usr/local/pgpool/etc/pgpool.conf

# Host name or IP address to listen on: &#039;*&#039; for all, &#039;&#039; for no TCP/IP
# connections
listen_addresses = &#039;*&#039;

# Port number for pgpool
port = 5439

# Port number for pgpool communication manager
pcp_port = 9898

# レプリケーションの設定

# Replication mode
replication_mode = true

# ロードバランスの設定

# Load balancing mode, i.e., all SELECTs are load balanced.
# This is ignored if replication_mode is false.
load_balance_mode = true

#set pgpool2 hostname
pgpool2_hostname = &#039;&#039;

# メインDB

# system DB info
system_db_hostname = &#039;localhost&#039;
system_db_port = 5432
system_db_dbname = &#039;pgpool&#039;
system_db_schema = &#039;pgpool_catalog&#039;
system_db_user = &#039;pgpool&#039;
system_db_password = &#039;&#039;

# backend_hostname, backend_port, backend_weight
# here are examples

#バックエンド１

backend_hostname0 = &#039;バックエンドDB１&#039;
backend_port0 = 5432
backend_weight0 = 1
#backend_data_directory0 = &#039;/data&#039;

#バックエンド２

backend_hostname1 = &#039;バックエンドDB２&#039;
backend_port1 = 5432
backend_weight1 = 1
#backend_data_directory1 = &#039;/data1&#039;
</pre>
<p>※メインDBのpostgres.confのPortは5432とする</p>
<p>設定ファイルの編集が完了したところでpgpoolを起動し、<br />
レプリケーションされているかどうかを確認する。</p>
<p>まずはpgpool-IIに接続し、データベース、テーブル、データ5件を作成する。</p>
<pre class="brush: bash; auto-links: false;">

% createdb -p 5439 replication (5439 番ポートへ接続)
% psql -p 5439 replication
replication=# CREATE TABLE rep (a INT);
replication=# INSERT INTO rep SELECT generate_series(1, 10);
</pre>
<p>次に直接メインDBとバックエンドDBに5432ポートに接続し、実際にデータが5件作成されているかどうかを確認する。</p>
<pre class="brush: bash; auto-links: false;">

メインDB

% for p in 5432 ; do
for&amp;gt; echo port: $p
for&amp;gt; psql -p $p -c &#039;select count(*) from rep&#039; replication
for&amp;gt; done
port: 5432
count
-------
5
(1 row)

バックエンドDB

port: 5432
count
-------
5
(1 row)
</pre>
<h3>PGPOOLのステータス確認</h3>
<pre class="brush: bash; auto-links: false;">

psql -p 5439 replication

show pool_status;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ststyle.net/weblog/archives/434/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
