]> git.8kb.co.uk Git - pgpool-ii/pgpool-ii_2.2.5/blob - doc/pgpool-ja.html
Attempt to send a proper failure message to frontend when authentication
[pgpool-ii/pgpool-ii_2.2.5] / doc / pgpool-ja.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="content-type" content="text/html;charset=iso-2022-jp">
5 <link rel="stylesheet" href="./pgpool.css" type="text/css">
6 <title>pgpool-II \e$B%f!<%6%^%K%e%"%k\e(B</title>
7 </head>
8 <body>
9
10 <!-- hhmts start -->
11 Last modified: Sun Oct  4 18:13:38 JST 2009
12 <!-- hhmts end -->
13
14 <body bgcolor="#ffffff">
15 <a name="top"></a>
16 <table border="0" cellpadding="2" cellspacing="1">
17   <tr>
18
19     <td colspan="2" valign="top"><div class="header_text">Welcome to pgpool -II page</div></td>
20   </tr>
21   <tr>
22     <td valign="top" style="border-right:1px dotted #cccccc;">
23         <br />
24
25         <div id="navcontainer">
26       <ul id="navlist">
27         <li id="active"><a href="#Whatis" id="current">pgpool-II\e$B$H$O\e(B</a></li>
28         <li><a href="#platform">pgpool-II\e$B$N2TF/4D6-\e(B</a></li>
29         <li><a href="#install">pgpool-II\e$B$N%$%s%9%H!<%k\e(B</a></li>
30         <li><a href="#config">pgpool-II\e$B$N@_Dj\e(B</a></li>
31         <li><a href="#start">pgpool-II\e$B$N5/F0$HDd;_\e(B</a></li>
32         <li><a href="#reload">pgpool-II\e$B$N@_Dj%U%!%$%k$N:FFI$_9~$_\e(B</a></li>
33         <li><a href="#online-recovery">\e$B%*%s%i%$%s%j%+%P%j\e(B</a></li>
34         <li><a href="#restriction">\e$B@)8B;v9`\e(B</a></li>
35         <li><a href="#reference">\e$B%j%U%!%l%s%9\e(B</a></li>
36         <li><a href="#internal">\e$BFbIt>pJs\e(B</a></li>
37         <li><a href="#release">\e$B%j%j!<%9%N!<%H\e(B</a></li>
38       </ul>
39     </div>
40         <br />
41
42                 <div class="header_small" align="center">
43
44                         [<a href="pgpool-en.html">English page</a>]             </div>  </td>
45     <td valign="top" style="border-left:1px dotted #cccccc;">
46         
47
48
49 <h1>pgpool-II\e$B$H$O\e(B<a name="whatis"></a></h1>
50 <p>
51 pgpool-II\e$B$O\e(BPostgreSQL\e$B@lMQ$N%_%I%k%&%'%"$G!"\e(BPostgreSQL\e$B$N%G!<%?%Y!<%9%/%i%$%"%s%H$H\e(BPostgreSQL\e$B%5!<%P$N4V$K3d$j9~$`7A$GF0:n$7!"\e(BPostgrSQL\e$B$K0J2<$N$h$&$J5!G=$rDI2C$7$^$9!#\e(B
52 </p>
53
54 <p>
55 <ul>
56
57 <li>\e$B%3%M%/%7%g%s%W!<%j%s%0\e(B
58 <p>
59 PostgreSQL\e$B$X$N@\B3$rJ]B8$7$F$*$-!":FMxMQ$9$k$3$H$K$h$C$F\e(BPostgreSQL\e$B$X$N@\B3%*!<%P%X%C%I$rDc8:$G$-!"%7%9%F%`A4BN$N%9%k!<%W%C%H$r8~>e$5$;$k$3$H$,$G$-$^$9!#\e(B
60 </p>
61
62 <li>\e$B%l%W%j%1!<%7%g%s\e(B
63 <p>
64 pgpool-II\e$B$OJ#?t$N\e(BPostgreSQL\e$B%5!<%P$r4IM}$9$k$3$H$,$G$-$^$9!#%l%W%j%1!<%7%g%s$r;HMQ$9$k$3$H$K$h$j!"J*M}E*$K\e(B2\e$BBf0J>e$N%G%#%9%/$K%j%"%k%?%$%`$G%O!<%I%G%#%9%/$N%P%C%/%"%C%W$r<h$k$3$H$,$G$-!"K|$,0l$I$l$+$N%G%#%9%/$K>c32$,H/@8$7$F$b1?MQ$r7QB3$9$k$3$H$,$G$-$^$9!#\e(B
65 </p>
66
67 <li>\e$BIi2YJ,;6\e(B
68 <p>
69 \e$B%l%W%j%1!<%7%g%s$r1?MQ$7$F$$$k>l9g!"$9$Y$F$N\e(BPostgreSQL\e$B%G!<%?%Y!<%9$NFbMF$,0lCW$7$F$$$k$N$G!"$I$N%5!<%P$KLd$$9g$o$;$F$bF1$87k2L$,JV$C$F$-$^$9!#$3$N$3$H$rMxMQ$7$F!"B??t$N%j%/%(%9%H$r$=$l$>$l$N%5!<%P$GJ,C4$7$FIi2Y$r7Z8:$5$;!"%7%9%F%`A4BN$N@-G=$r8~>e$5$;$k$3$H$,$G$-$^$9!#:GNI$N>l9g$K$O%5!<%PBf?t$KHfNc$7$?@-G=8~>e$,8+9~$a$^$9!#FC$KB??t$N%f!<%6$,BgNL$NLd$$9g$o$;$rEj$2$k$h$&$J4D6-$G0RNO$rH/4x$7$^$9!#\e(B
70 </p>
71
72 <li>\e$B@\B3?t$N@)8B\e(B
73 <p>
74 PostgreSQL\e$B$K@\B32DG=$J%;%C%7%g%s?t$K$O8B3&$,$"$j!"$=$l$rD6$($F@\B3$9$k$3$H$O$G$-$^$;$s!#$+$H8@$C$F!"F1;~%;%C%7%g%s?t$r$`$d$_$KB?$/@_Dj$9$k$H!"%a%b%j!<$J$I$N%j%=!<%9$,B?$/>CHq$5$l$F%Q%U%)!<%^%s%9$K1F6A$,$"$j$^$9!#\e(Bpgpool-II\e$B$G$b%/%i%$%"%s%H$+$i$N@\B3?t$K$O>e8B$,$"$j$^$9$,!"$=$l$rD6$($F$b$?$@$A$K%(%i!<$K$J$k$3$H$O$J$/!"0lDj$N4VBT$?$5$l$k$h$&$K$J$C$F$$$^$9!#$7$?$,$C$F!"\e(Bpgpool-II\e$B$O\e(BPostgreSQL\e$B$X$N@\B3MW5a$r<B<AE*$K%-%e!<%$%s%0$7!"\e(BPostgreSQL\e$B$X$N2aBg$J@\B3?t$r@)8B$9$k$3$H$,2DG=$G$9!#\e(B
75 </p>
76
77 <li>\e$B%Q%i%l%k%/%(%j\e(B
78 <p>
79 \e$BJ#?t$N%5!<%P$K%G!<%?$rJ,3d$7$F<u$1;}$?$;!"$=$l$>$l$N%5!<%P$KF1;~$K8!:wLd$$9g$o$;$rEj$2$F!"Ld$$9g$o$;$N=hM};~4V$rC;=L$9$k%Q%i%l%k%/%(%j$,MxMQ$G$-$^$9!#FC$KBg5,LO$J%G!<%?$r8!:w$9$k$H$-$K0RNO$rH/4x$7$^$9!#\e(B
80 </p>
81
82 </ul>
83 </p>
84
85 <p>
86 pgpool-II\e$B$O\e(BPostgreSQL\e$B%P%C%/%(%s%I$H%U%m%s%H%(%s%I$NDL?.%W%m%H%3%k$rM}2r$7$F$=$N4V$rCf7Q$7$^$9!#$9$J$o$A!"\e(BPostgreSQL\e$B$N%G!<%?%Y!<%9%"%W%j%1!<%7%g%s$+$i$O\e(BPostgreSQL\e$B%5!<%P$K!"\e(BPostgreSQL\e$B$+$i$O%G!<%?%Y!<%9%"%W%j%1!<%7%g%s$K8+$($k$h$&$K@_7W$5$l$F$$$^$9!#$=$N$?$a!"\e(BPostgreSQL\e$B$=$N$b$N$O$b$A$m$s!"%"%W%j%1!<%7%g%s$N3+H/8@8l$K$h$i$:!"\e(BPostgreSQL\e$B$N%G!<%?%Y!<%9%"%W%j%1!<%7%g%s$K$[$H$s$I<j$r2C$($k$3$H$J$/!"\e(Bpgpool-II\e$B$N5!G=$,MxMQ$G$-$^$9!#\e(B
87 </p>
88
89 <h1>pgpool-II\e$B$N2TF/4D6-\e(B<a name="platform"></a></h1>
90 <p>
91 pgpool-II\e$B$O!"\e(BLinux\e$B$r$O$8$a!"\e(BSolaris\e$B$d\e(BFreeBSD\e$B$J$I$N$[$H$s$I$N\e(BUNIX\e$B4D6-$GF0:n$7$^$9!#\e(BWindows\e$B$G$OF0$-$^$;$s!#BP1~$9$k\e(BPostgreSQL\e$B$N%P!<%8%g%s$O!"\e(BPostgreSQL\e$B$N\e(B6.4\e$B0J9_$G$9!#$?$@$7%Q%i%l%k%/%(%j%b!<%I$r;HMQ$9$k$H$-$O\e(BPostgreSQL 7.4\e$B0J9_$r$*;H$$$/$@$5$$!#\e(B
92 </p>
93
94 <h1>pgpool-II\e$B$N%$%s%9%H!<%k\e(B<a name="install"></a></h1>
95
96 <p>
97 pgpool-II \e$B$N%=!<%9%3!<%I$O\e(B<a
98 href="http://pgfoundry.org/projects/pgpool/">pgpool\e$B3+H/%Z!<%8\e(B</a>
99 \e$B$+$i%@%&%s%m!<%I$G$-$^$9!#\e(B
100 </p>
101
102 <p>
103 pgpool-II\e$B$N%$%s%9%H!<%k$K$O!"\e(Bgcc 2.9\e$B0J>e!"$*$h$S\e(BGNU make\e$B$,I,MW$G$9!#\e(B
104 \e$B$^$?!"\e(Bpgpool-II\e$B$O\e(Blibpq(PostgreSQL\e$BIUB0$N%/%i%$%"%s%H%i%$%V%i%j\e(B)\e$B$r;HMQ$9$k$N$G!"%S%k%I$r9T$&%^%7%s>e$K\e(Blibpq\e$B$,%$%s%9%H!<%k$5$l$F$$$k$3$H$,I,MW$G$9!#\e(B
105 </p>
106
107 <dl>
108 <dt>configure\e$B$N<B9T\e(B
109 <dd>
110 <p>
111 \e$B%=!<%9%3!<%I$N\e(Btar ball\e$B$rE83+$7$?$i!"\e(Bconfigure\e$B$r<B9T$7$^$9!#\e(B
112 <pre>
113 ./configure
114 </pre>
115
116 configure\e$B$K;XDj$G$-$k%*%W%7%g%s$O0J2<$G$9!#\e(B
117
118 <ul>
119 <li>--prefix=path
120 pgpool-II\e$BK\BN$d4XO"%U%!%$%k$r%$%s%9%H!<%k$9$k%H%C%W%G%#%l%/%H%j$r;XDj$7$^$9!#\e(B
121 \e$B%G%U%)%k%H$O\e(B/usr/local\e$B$G$9!#\e(B
122 <li>--with-pgsql=path
123 PostgreSQL\e$B$N%/%i%$%"%s%H%i%$%V%i%j$J$I$,%$%s%9%H!<%k$5$l$F$$$k%H%C%W%G%#\e(B
124 \e$B%l%/%H%j$r;XDj$7$^$9!#%G%U%)%k%H$O\e(Bpg_config \e$B%3%^%s%I$G<hF@$G$-$k%Q%9$G$9!#\e(B
125 </ul>
126 </p>
127
128 <dt>make\e$B$N<B9T\e(B
129 <dd>
130 <p>
131
132 <pre>
133 make
134 make install
135 </pre>
136 \e$B$G%$%s%9%H!<%k$,40N;$7$^$9\e(B(GNU make\e$B$,I,MW$J$N$G!"\e(BFreeBSD\e$B$J$I$G$O\e(B
137 make\e$B$r\e(Bgmake\e$B$KFI$_BX$($F$/$@$5$$\e(B)\e$B!#\e(B
138 </dl>
139
140 <h1>pgpool-II\e$B$N@_Dj\e(B<a name="config"></a></h1>
141 <p>
142 pgpool-II\e$B$N@_Dj%U%!%$%k$O%G%U%)%k%H$G$O\e(B/usr/local/etc/pgpool.conf\e$B$*$h$S\e(B
143 /usr/local/etc/pcp.conf\e$B$G$9!#\e(Bpgpool-II\e$B$OF0:n%b!<%I$K$h$C$F;HMQ$G$-$k5!G=$H!"\e(B
144 \e$BI,MW$J@_Dj9`L\$,0[$J$j$^$9!#\e(B
145 </p>
146 <table border>
147
148 <tr>
149 <th>\e$B;HMQ$G$-$k5!G=\e(B/\e$B%b!<%I\e(B</th>
150 <th>raw\e$B%b!<%I\e(B</th>
151 <th>\e$B%3%M%/%7%g%s%W!<%k%b!<%I\e(B</th>
152 <th>\e$B%l%W%j%1!<%7%g%s%b!<%I\e(B</th>
153 <th>\e$B%^%9%?%9%l!<%V%b!<%I\e(B</th>
154 <th>\e$B%Q%i%l%k%/%(%j%b!<%I\e(B</th>
155 </tr>
156
157 <tr>
158 <td>\e$B%3%M%/%7%g%s%W!<%j%s%0\e(B</td>
159 <td align="center">\e$B!_\e(B</td>
160 <td align="center">\e$B!{\e(B</td>
161 <td align="center">\e$B!{\e(B</td>
162 <td align="center">\e$B!{\e(B</td>
163 <td align="center">\e$B!{\e(B</td>
164 </tr>
165
166 <tr>
167 <td>\e$B%l%W%j%1!<%7%g%s\e(B</td>
168 <td align="center">\e$B!_\e(B</td>
169 <td align="center">\e$B!_\e(B</td>
170 <td align="center">\e$B!{\e(B</td>
171 <td align="center">\e$B!_\e(B</td>
172 <td align="center">\e$B"$\e(B(*)</td>
173 </tr>
174
175 <tr>
176 <td>\e$BIi2YJ,;6\e(B</td>
177 <td align="center">\e$B!_\e(B</td>
178 <td align="center">\e$B!_\e(B</td>
179 <td align="center">\e$B!{\e(B</td>
180 <td align="center">\e$B!{\e(B</td>
181 <td align="center">\e$B"$\e(B(*)</td>
182 </tr>
183
184 <tr>
185 <td>\e$B=LB`1?E>\e(B</td>
186 <td align="center">\e$B!_\e(B</td>
187 <td align="center">\e$B!_\e(B</td>
188 <td align="center">\e$B!{\e(B</td>
189 <td align="center">\e$B!{\e(B</td>
190 <td align="center">\e$B!_\e(B</td>
191 </tr>
192
193 <tr>
194 <td>\e$B%U%'%$%k%*!<%P\e(B</td>
195 <td align="center">\e$B!{\e(B</td>
196 <td align="center">\e$B!{\e(B</td>
197 <td align="center">\e$B!_\e(B</td>
198 <td align="center">\e$B!_\e(B</td>
199 <td align="center">\e$B!_\e(B</td>
200 </tr>
201
202 <tr>
203 <td>\e$B%Q%i%l%k%/%(%j\e(B</td>
204 <td align="center">\e$B!_\e(B</td>
205 <td align="center">\e$B!_\e(B</td>
206 <td align="center">\e$B!_\e(B</td>
207 <td align="center">\e$B!_\e(B</td>
208 <td align="center">\e$B!{\e(B</td>
209 </tr>
210
211 <tr>
212 <td>\e$B%5!<%PBf?t\e(B</td>
213 <td align="center">1\e$B0J>e\e(B</td>
214 <td align="center">1\e$B0J>e\e(B</td>
215 <td align="center">2\e$B0J>e\e(B</td>
216 <td align="center">2\e$B0J>e\e(B</td>
217 <td align="center">2\e$B0J>e\e(B</td>
218 </tr>
219
220 <tr>
221 <td>\e$B%7%9%F%`\e(BDB</td>
222 <td align="center">\e$BITMW\e(B</td>
223 <td align="center">\e$BITMW\e(B</td>
224 <td align="center">\e$BITMW\e(B</td>
225 <td align="center">\e$BITMW\e(B</td>
226 <td align="center">\e$BI,MW\e(B</td>
227 </tr>
228
229 </table>
230
231 (*)\e$B%Q%i%l%k%/%(%j%b!<%I$G$O%G!<%?$rJ,3d$7$FJ]B8$7$F$$$k%F!<%V%k$KBP$7$F$O!"%l%W%j%1!<%7%g%s$J$i$S$KIi2YJ,;6$N5!G=$O;H$($^$;$s!#\e(B
232
233 <h2>pcp.conf\e$B$N@_Dj\e(B</h2>
234 <p>
235 \e$B$I$NF0:n%b!<%I$G$b!"\e(Bpcp.conf\e$B$N@_Dj$OI,MW$G$9!#\e(Bpgpool-II\e$B$K$O4IM}<T$,\e(Bpgpool-II\e$B$N\e(B
236 \e$BDd;_$d>pJs<hF@$J$I$N4IM}A`:n$r9T$&$?$a$N%$%s%?!<%U%'%$%9$,MQ0U$5$l$F$$$^\e(B
237 \e$B$9!#$=$N%$%s%?!<%U%'%$%9$rMxMQ$9$k$?$a$K$O%f!<%6G'>Z$,I,MW$K$J$k$N$G!"$=\e(B
238 \e$B$N%f!<%6L>$H%Q%9%o!<%I$r\e(Bpcp.conf\e$B$KEPO?$7$^$9!#\e(B
239 pgpool-II\e$B$r%$%s%9%H!<%k$9$k$H!"\e(B$prefix/etc/pcp.conf.sample\e$B$,$G$-$k$N$G!"$=$l$r\e(B
240 $prefix/etc/pcp.conf\e$B$H$$$&L>A0$G%3%T!<$7$^$9!#\e(B
241 </p>
242 <pre>
243 cp $prefix/etc/pcp.conf.sample $prefix/etc/pcp.conf
244 </pre>
245 <p>
246 pcp.conf\e$B$G$O6uGr9T$d\e(B#\e$B$G;O$^$k9T$O%3%a%s%H$H8+$J$5$l$^$9!#\e(B
247 \e$B%f!<%6$H%Q%9%o!<%I$O!"\e(B
248 </p>
249 <pre>
250 \e$B%f!<%6L>\e(B:[md5\e$B0E9f2=$7$?%Q%9%o!<%I\e(B]
251 </pre>
252 <p>
253 \e$B$N$h$&$K;XDj$7$^$9!#\e(B
254 [md5\e$B0E9f2=$7$?%Q%9%o!<%I\e(B]\e$B$O!"\e(B$prefix/bin/pg_md5\e$B%3%^%s%I$G:n@.$G$-$^$9!#\e(B
255 </p>
256 <pre>
257 ./pg_md5 foo
258 acbd18db4cc2f85cedef654fccc4a4d8
259 </pre>
260 \e$B%Q%9%o!<%I$r0z?t$KEO$7$?$/$J$$>l9g$O\e(B pg_md5 -p \e$B$r<B9T$7$F$/$@$5$$!#\e(B
261 <pre>
262 ./pg_md5 -p
263 password: &lt;\e$B%Q%9%o!<%I$rF~NO\e(B&gt;
264 </pre>
265 <p>
266 pcp.conf\e$B$O!"\e(Bpgpool-II\e$B$rF0:n$5$;$k%f!<%6\e(BID\e$B$GFI$_<h$j2DG=$K$J$C$F$$$J$1$l$P\e(B
267 \e$B$J$j$^$;$s!#\e(B
268 </p>
269
270 <h2>pgpool.conf\e$B$N@_Dj\e(B</h2>
271 <p>
272 \e$BA0=R$N$h$&$K!"F0:n%b!<%I$K$h$C$F!"\e(Bpgpool.conf\e$B$N@_Dj9`L\$,0[$J$j$^$9!#\e(B
273 pgpool-II\e$B$r%$%s%9%H!<%k$9$k$H!"\e(B$prefix/etc/pgpool.conf.sample\e$B$,$G$-$k$N$G!"$=$l$r\e(B
274 $prefix/etc/pgpool.conf\e$B$H$$$&L>A0$G%3%T!<$7$^$9!#\e(B
275 </p>
276 <pre>
277 cp $prefix/etc/pgpool.conf.sample $prefix/etc/pgpool.conf
278 </pre>
279 <p>
280 pgpool.conf\e$B$G$O6uGr9T$d\e(B#\e$B$G;O$^$k9T$O%3%a%s%H$H8+$J$5$l$^$9!#\e(B
281 </p>
282
283 <h3>raw\e$B%b!<%I\e(B</h3>
284 <p>
285 \e$BC1$K\e(Bpgpool-II\e$B$r7PM3$7$F@\B3$9$k$@$1$N%b!<%I$G$9!#C1$K\e(BPostgreSQL\e$B%5!<%P$X$N@\\e(B
286 \e$BB3%;%C%7%g%s?t$r@)8B$7$?$j!"\e(B2\e$BBf0J>e$N\e(BPostgreSQL\e$B%5!<%P$rMQ0U$7$F%U%'%$%k\e(B
287 \e$B%*!<%PF0:n$r$5$;$?$$$H$-$KMxMQ$7$^$9!#\e(B
288 </p>
289
290 <dl>
291 <dt>listen_addresses
292 <dd>
293 <p>
294 pgpool-II\e$B$,\e(BTCP/IP\e$B%3%M%/%7%g%s$r<u$1IU$1$k%"%I%l%9$r%[%9%HL>$^$?$O\e(BIP\e$B%"%I%l%9$G\e(B
295 \e$B;XDj$7$^$9!#!V\e(B*\e$B!W$r;XDj$9$k$H$9$Y$F$N\e(BIP\e$B%$%s%?%U%'!<%9$+$i$N%3%M%/%7%g\e(B
296 \e$B%s$r<u$1IU$1$^$9!#!V\e(B''\e$B!W$r;XDj$9$k$H\e(BTCP/IP\e$B%3%M%/%7%g%s$r<u$1IU$1$^\e(B
297 \e$B$;$s!#%G%U%)%k%HCM$O!V\e(Blocalhost\e$B!W$G$9!#\e(B
298 UNIX\e$B%I%a%$%s%=%1%C%H7PM3$N%3%M%/%7%g%s$O>o$K<u$1IU$1$^$9!#$3$N%Q%i%a!<\e(B
299 \e$B%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
300 </p>
301
302 <dt>port
303 <dd>
304 <p>
305 pgpool-II\e$B$,%3%M%/%7%g%s$r<u$1IU$1$k%]!<%HHV9f$G$9!#%G%U%)%k%HCM$O\e(B9999
306 \e$B$G$9!#\e(B
307 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
308 </p>
309
310 <dt>socket_dir
311 <dd>
312 <p>
313 pgpool-II\e$B$,%3%M%/%7%g%s$r<u$1IU$1$k\e(BUNIX\e$B%I%a%$%s%=%1%C%H$rCV$/%G%#%l%/%H%j$G$9!#\e(B
314 \e$B%G%U%)%k%HCM$O\e(B'/tmp'\e$B$G$9!#\e(B
315 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
316 </p>
317
318 <dt>pcp_port
319 <dd>
320 <p>
321 pcp\e$B$,;HMQ$9$k%]!<%HHV9f$G$9!#\e(B
322 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
323 </p>
324
325 <dt>pcp_socket_dir
326 <dd>
327 <p>
328 pcp\e$B$,%3%M%/%7%g%s$r<u$1IU$1$k\e(BUNIX\e$B%I%a%$%s%=%1%C%H$rCV$/%G%#%l%/%H%j$G$9!#\e(B
329 \e$B%G%U%)%k%HCM$O\e(B'/tmp'\e$B$G$9!#\e(B
330 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
331 </p>
332
333 <dt>backend_socket_dir
334 <dd>
335 <p>
336 UNIX\e$B%I%a%$%s%=%1%C%H7PM3$G\e(Bpgpool-II\e$B$,\e(BPostgreSQL\e$B$H@\B3$9$k:]$K;HMQ$9$k\e(B
337 PostgreSQL\e$B$N\e(BUNIX\e$B%I%a%$%s%=%1%C%H$,CV$+$l$F$$$k%G%#%l%/%H%j!#%G%U%)%k%HCM\e(B
338 \e$B$O\e(B/tmp\e$B$G$9!#\e(B
339 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
340 </p>
341
342 <dt>pcp_timeout
343 <dd>
344 <p>
345 pcp\e$B$,\e(Bpgppool\e$B$H@\B3$9$k:]$N%?%$%`%"%&%HCM!#\e(B0\e$B$K$9$k$H%?%$%`%"%&%H$7$^$;$s!#\e(B
346 \e$B%G%U%)%k%HCM$O\e(B10(\e$BIC\e(B)\e$B$G$9!#\e(B
347 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
348 </p>
349
350 <dt>num_init_children
351 <dd>
352 <p>
353 prefork\e$B$9$k\e(Bpgpool-II\e$B$N%5!<%P%W%m%;%9$N?t$G$9!#%G%U%)%k%HCM$O\e(B32\e$B$K$J$C$F\e(B
354 \e$B$$$^$9!#\e(B
355    \e$B$J$*!"Ld$$9g$o$;$N%-%c%s%;%k$r9T$&$HDL>o$N%3%M%/%7%g%s$H$OJL$K?7$?\e(B
356    \e$B$J%3%M%/%7%g%s$,D%$i$l$^$9!#$7$?$,$C$F!"$9$Y$F$N%3%M%/%7%g%s$,;HMQ\e(B
357    \e$BCf$N>l9g$OLd$$9g$o$;$N%-%c%s%;%k$,$G$-$J$/$C$F$7$^$&$N$G!"$4Cm0U2<\e(B
358    \e$B$5$$!#Ld$$9g$o$;$N%-%c%s%;%k$rI,$:J]>Z$7$?$$>l9g$O!"A[Dj$5$l$k%3%M\e(B
359    \e$B%/%7%g%s?t$NG\$NCM$r@_Dj$9$k$3$H$r$*$9$9$a$7$^$9!#\e(B
360 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
361 </p>
362
363 <dt>child_life_time
364 <dd>
365 <p>
366    pgpool-II\e$B$N;R%W%m%;%9$N<wL?$G$9!#%"%$%I%k>uBV$K$J$C$F$+$i\e(B
367    child_life_time\e$BIC7P2a$9$k$H!"0lC6=*N;$7$F?7$7$$%W%m%;%9$r5/F0$7$^$9!#\e(B
368    \e$B%a%b%j!<%j!<%/$=$NB>$N>c32$KHw$($?M=KIA<CV$G$9!#\e(Bchild_life_time\e$B$N%G\e(B
369    \e$B%U%)%k%HCM$O\e(B300\e$BIC!"$9$J$o$A\e(B5\e$BJ,$G$9!#\e(B0\e$B$r;XDj$9$k$H$3$N5!G=$OF/$-$^$;\e(B
370    \e$B$s!J$9$J$o$A5/F0$7$CJ|$7!K!#$J$*!"$^$@0lEY$b%3%M%/%7%g%s$r\e(B
371    \e$B<u$1IU$1$F$$$J$$%W%m%;%9$K$O\e(Bchild_life_time\e$B$OE,MQ$5$l$^$;$s!#\e(B
372 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
373 </p>
374
375 <dt>child_max_connections
376 <dd>
377 <p>
378    \e$B3F\e(Bpgpool-II\e$B;R%W%m%;%9$X$N@\B32s?t$,$3$N@_DjCM$rD6$($k$H!"$=$N;R%W%m\e(B
379    \e$B%;%9$r=*N;$7$^$9!#\e(Bchild_life_time\e$B$d\e(Bconnection_life_time\e$B$,8z$+$J$$$/\e(B
380    \e$B$i$$K;$7$$%5!<%P$G!"\e(BPostgreSQL\e$B%P%C%/%(%s%I$,HnBg2=$9$k$N$rKI$0$N$K\e(B
381    \e$BM-8z$G$9!#\e(B
382 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
383 </p>
384
385 <dt>client_idle_limit
386 <dd>
387 <p>
388   \e$BA02s%/%i%$%"%s%H$+$iMh$?%/%(%j$+$i!"\e(Bclient_idle_limit \e$BIC1[$($F$b<!$N\e(B
389   \e$B%/%(%j$,FO$+$J$$>l9g$O!"%/%i%$%"%s%H$X$N@\B3$r6/@)E*$K@ZCG$7!"%/%i%$\e(B
390   \e$B%"%s%H$+$i$N<!$N%3%M%/%7%g%s$rBT$D$h$&$K$7$^$9!#%G%U%)%k%HCM$O\e(B 0(\e$BL5\e(B
391   \e$B8z\e(B)\e$B$G$9!#$3$N%Q%i%a!<%?$O!"%*%s%i%$%s%j%+%P%j$N%;%+%s%I%9%F!<%8$G$O\e(B
392   \e$BL5;k$5$l$^$9!#\e(B
393 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
394 </p>
395
396 <dt>authentication_timeout
397 <dd>
398 <p>
399    \e$BG'>Z=hM}$N%?%$%`%"%&%H;~4V$rICC10L$G;XDj$7$^$9!#\e(B0 \e$B$r;XDj$9$k$H%?%$\e(B
400    \e$B%`%"%&%H$rL58z$K$7$^$9!#\e(Bauthentication_timeout \e$B$N%G%U%)%k%HCM$O\e(B 60
401    \e$B$G$9!#\e(B
402 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
403 </p>
404
405 <dt>logdir
406 <dd>
407 <p>
408    pgpool-II\e$B$N3F<o%m%0%U%!%$%k$r3JG<$9$k%G%#%l%/%H%j$G$9$,!"\e(Bpgpool-II 2.2\e$B0J9_$G$O;HMQ$5$l$F$$$^$;$s!#\e(B
409    \e$B>-MhFH<+$N%m%0%7%9%F%`$r<BAu$7$?:]$K;HMQ$5$l$k$+$b$7$l$J$$$N$G!"$3$N%(%s%H%j$O;D$7$F$"$j$^$9!#\e(B
410 </p>
411
412 <dt>pid_file_name
413 <dd>
414 <p>
415    pgpool-II\e$B$N\e(Bpid file(\e$B%W%m%;%9\e(BID\e$B$r3JG<$7$?%U%!%$%k\e(B)\e$B$N%U%k%Q%9L>$G$9!#\e(B
416    \e$B%G%U%)%k%HCM$O\e(B'/var/run/pgpool/pgpool.pid'\e$B$G$9!#\e(B
417    \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
418 </p>
419
420 <dt>print_timestamp
421 <dd>
422 <p>
423    true\e$B$J$i$P\e(Bpgpool-II\e$B$N%m%0$K%?%$%`%9%?%s%W$rDI2C$7$^$9!#%G%U%)%k%H$O\e(B
424    true\e$B$G$9!#\e(B
425 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
426 </p>
427
428 <dt>connection_cache
429 <dd>
430 <p>
431    true\e$B$J$i%3%M%/%7%g%s$r%-%c%C%7%e$7$^$9!#%G%U%)%k%H$O\e(Btrue\e$B$G$9!#\e(B
432 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
433 </p>
434
435 <dt>health_check_timeout
436 <dd>
437 <p>
438    pgpool-II\e$B$O%5!<%P>c32$d%M%C%H%o!<%/>c32$r8!CN$9$k$?$a$K!"Dj4|E*$K%P%C\e(B
439    \e$B%/%(%s%I$K@\B3$r;n$_$^$9!#$3$l$r!V%X%k%9%A%'%C%/!W$H8@$$$^$9!#>c32\e(B
440    \e$B$,8!CN$5$l$k$H!"%U%'%$%k%*!<%P$d=LB`1?E>$r;n$_$^$9!#\e(B
441
442    \e$B$3$N\e(B \e$B%Q%i%a!<%?$O!"%M%C%H%o!<%/%1!<%V%k$,H4$1$?:]$J$I$K%X%k%9%A%'%C\e(B
443    \e$B%/$,D9;~4VBT$?$5$l$k$N$rKI$0$?$a$N%?%$%`%"%&%HCM$rICC10L$G;XDj$7$^\e(B
444    \e$B$9!#%G%U%)%k%H$O\e(B20\e$BIC$G$9!#\e(B0\e$B$r;XDj$9$k$H%?%$%`%"%&%H=hM}$r$7$^$;$s!#\e(B
445
446    \e$B$J$*!"%X%k%9%A%'%C%/$rM-8z$K$9$k$H!"%X%k%9%A%'%C%/$N$?$a$NM>J,$N@\\e(B
447    \e$BB3$,\e(B1\e$B$DI,MW$K$J$j$^$9$N$G!"\e(BPostgreSQL\e$B$N\e(Bpostgresql.conf\e$B$N@_Dj9`L\$N\e(B
448    max_connections\e$B$r>/$/$H$b\e(B1\e$BA}$d$9$h$&$K$7$F$/$@$5$$!#\e(B
449
450 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
451 </p>
452
453 <dt>health_check_period
454 <dd>
455 <p>
456    \e$B%X%k%9%A%'%C%/$r9T$&4V3V$rICC10L$G;XDj$7$^$9!#\e(B0\e$B$r;XDj$9$k$H%X%k%9\e(B
457    \e$B%A%'%C%/$r9T$$$^$;$s!#%G%U%)%k%H$O\e(B0\e$B$G$9\e(B(\e$B$D$^$j%X%k%9%A%'%C%/$r9T$$\e(B
458    \e$B$^$;$s\e(B)\e$B!#\e(B
459 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
460 </p>
461
462 <dt>health_check_user
463 <dd>
464 <p>
465    \e$B%X%k%9%A%'%C%/$r9T$&$?$a$N\e(BPostgreSQL\e$B%f!<%6L>$G$9!#\e(B
466 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
467 </p>
468
469 <dt>failover_command
470 <dd>
471 <p>
472 \e$B%N!<%I$,@Z$jN%$5$l$?;~$K<B9T$9$k%3%^%s%I$r;XDj$7$^$9!#FC<lJ8;z$r;XDj$9\e(B
473 \e$B$k$H!"\e(Bpgpool \e$B$,I,MW$J>pJs$KCV$-49$($F%3%^%s%I$r<B9T$7$^$9!#\e(B
474
475 <center>
476 <table border>
477 <tr><td>\e$BJ8;z\e(B</td><td>\e$B0UL#\e(B</td></tr>
478 <tr><td>%d</td><td>\e$B@Z$jN%$5$l$?%N!<%IHV9f\e(B</td></tr>
479 <tr><td>%h</td><td>\e$B@Z$jN%$5$l$?%N!<%I$N%[%9%HL>\e(B</td></tr>
480 <tr><td>%p</td><td>\e$B@Z$jN%$5$l$?%N!<%I$N%]!<%HHV9f\e(B</td></tr>
481 <tr><td>%D</td><td>\e$B@Z$jN%$5$l$?%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B
482 </td></tr>
483 <tr><td>%M</td><td>\e$B8E$$%^%9%?!<$N%N!<%IHV9f\e(B</td></tr>
484 <tr><td>%m</td><td>\e$B?7$7$$%^%9%?!<$N%N!<%IHV9f\e(B</td></tr>
485 <tr><td>%%</td><td>'%'\e$BJ8;z\e(B</td></tr>
486 </table>
487 </center>
488 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
489 </p>
490 <p>
491 \e$B%U%'%$%k%*!<%P!<;~$K$O!"\e(Bpgpool\e$B$O$^$:;R%W%m%;%9$r@ZCG$7$^$9\e(B(\e$B7k2L$H$7$F!"$9$Y$F$N%;%C%7%g%s$,@ZCG$5$l$^$9\e(B)\e$B!#<!$K!"\e(Bpgpool\e$B$O%U%'%$%k%*!<%P%3%^%s%I$r<B9T$7!"$=$N40N;$rBT$A$^$9!#\e(B
492 \e$B$=$N$"$H$G?7$7$$\e(Bpgpool\e$B$N;R%W%m%;%9$,5/F0$5$l!"%/%i%$%"%s%H$+$i$N@\B3$r<u$1IU$1$i$l$k>uBV$K$J$j$^$9!#\e(B
493 </p>
494
495 <dt>failback_command
496 <dd>
497 <p>
498 \e$B%N!<%I$,I|5"$7$?;~$K<B9T$9$k%3%^%s%I$r;XDj$7$^$9!#FC<lJ8;z$r;XDj$9$k$H!"\e(B
499 pgpool \e$B$,I,MW$J>pJs$KCV$-49$($F%3%^%s%I$r<B9T$7$^$9!#\e(B
500
501 <center>
502 <table border>
503 <tr><td>\e$BJ8;z\e(B</td><td>\e$B0UL#\e(B</td></tr>
504 <tr><td>%d</td><td>\e$BI|5"$7$?%N!<%IHV9f\e(B</td></tr>
505 <tr><td>%h</td><td>\e$BI|5"$7$?%N!<%I$N%[%9%HL>\e(B</td></tr>
506 <tr><td>%p</td><td>\e$BI|5"$7$?%N!<%I$N%]!<%HHV9f\e(B</td></tr>
507 <tr><td>%D</td><td>\e$BI|5"$7$?%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B
508 </td></tr>
509 <tr><td>%M</td><td>\e$B8E$$%^%9%?!<$N%N!<%IHV9f\e(B</td></tr>
510 <tr><td>%m</td><td>\e$B?7$7$$%^%9%?!<$N%N!<%IHV9f\e(B</td></tr>
511 <tr><td>%%</td><td>'%'\e$BJ8;z\e(B</td></tr>
512 </table>
513 </center>
514 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
515 </p>
516
517 <dt>ignore_leading_white_space
518 <dd>
519 <p>
520    true\e$B$J$i$P!"\e(Bload balance\e$B$N:]$K\e(BSQL\e$BJ89TF,$N6uGr$rL5;k$7$^$9\e(B(\e$BA43Q%9\e(B
521    \e$B%Z!<%9$OL5;k$5$l$^$;$s\e(B)\e$B!#$3$l$O!"\e(BDBI/DBD:Pg\e$B$N$h$&$K!">!<j$K9TF,$K%[\e(B
522    \e$B%o%$%H%9%Z!<%9$rDI2C$9$k$h$&$J\e(BAPI\e$B$r;H$$!"%m!<%I%P%i%s%9$7$?$$$H$-$K\e(B
523    \e$BM-8z$G$9!#\e(B
524 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
525 </p>
526
527 <dt>log_statement
528 <dd>
529 <p>
530    true\e$B$J$i$P\e(BSQL\e$BJ8$r%m%0=PNO$7$^$9!#$3$NLrL\$O\e(BPostgreSQL\e$B$N\e(B
531    log_statement\e$B%*%W%7%g%s$H;w$F$$$F!"%G%P%C%0%*%W%7%g%s$,$J$$$H$-$G$b\e(B
532    \e$BLd$$9g$o$;$r%m%0=PNO$7$FD4$Y$k$3$H$,$G$-$k$N$GJXMx$G$9!#\e(B
533 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
534 </p>
535
536 <dt>log_hostname
537 <dd>
538 <p>
539    true\e$B$J$i$P!"\e(Bps\e$B%3%^%s%I$G$N>uBVI=<(;~$K\e(BIP\e$B%"%I%l%9$G$O$J$/!"%[%9%HL>\e(B
540    \e$B$rI=<($7$^$9!#$^$?!"\e(Blog_connections\e$B$,M-8z$J>l9g$K$O%m%0$K%[%9%HL>$r\e(B
541    \e$B=PNO$7$^$9!#\e(B
542 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
543 </p>
544
545 <dt>log_connections
546 <dd>
547 <p>
548    true\e$B$J$i$P!"A4$F$N%/%i%$%"%s%H@\B3$r%m%0$X=PNO$7$^$9!#\e(B
549 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
550 </p>
551
552 <dt>enable_pool_hba
553 <dd>
554 <p>
555    true\e$B$J$i$P!"\e(Bpool_hba.conf\e$B$K=>$C$F%/%i%$%"%s%HG'>Z$r9T$$$^$9!#\e(B
556    \e$B>\:Y$O\e(B<a href="#hba">\e$B%/%i%$%"%s%HG'>Z\e(B(HBA)\e$B$N$?$a$N\e(Bpool_hba.conf\e$B@_Dj\e(B
557    \e$BJ}K!\e(B</a>\e$B$r;2>H$7$F$/$@$5$$!#\e(B
558 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
559 </p>
560
561 <dt>backend_hostname
562 <dd>
563 <p>
564 \e$B;HMQ$9$k\e(BPostgreSQL\e$B%5!<%P$N%[%9%HL>$r;XDj$7$^$9!#6uJ8;z$r;XDj$9$k$H\e(BUNIX\e$B%I\e(B
565 \e$B%a%$%s%=%1%C%H$G@\B3$7$^$9!#\e(B
566 \e$B<B:]$K$O!"\e(B"backend_hostname"\e$B$N8e$K\e(B0, 1, 2...\e$B$H?t;z$rIU2C$7$F;HMQ$9$kJ#?t\e(B
567 \e$B$N\e(BPostgreSQL\e$B$r6hJL$7$^$9!#$3$N?t;z$N$3$H$r!V\e(BDB\e$B%N!<%I\e(BID\e$B!W$H8F$S$^$9!#\e(B
568 DB\e$B%N!<%I\e(BID == 0\e$B$N\e(BPostgreSQL\e$B$O!"FCJL$K!V%^%9%?!<\e(BDB\e$B!W$H8F$P$l$^$9!#\e(B
569 \e$B$J$*!"J#?t$N\e(BDB\e$B%N!<%I$r1?MQ$7$F$$$k>l9g!">r7o$K$h$C$F$O%^%9%?!<\e(BDB\e$B$,%@%&%s$7$F$b\e(B
570 \e$B1?MQ$rB3$1$k$3$H$,$G$-$^$9!#$3$N>l9g$O!"2TF/Cf$+$D\e(BDB\e$B%N!<%I\e(BID\e$B$,$b$C$H$b\e(B
571 \e$B<c$$$b$N$,?7$7$$%^%9%?!<\e(BDB\e$B$K$J$j$^$9!#\e(B
572 </p>
573 <p>
574 1\e$BBf$7$+\e(BPostgreSQL\e$B$r;HMQ$7$J$$>l9g$O!"\e(B"backend_hostname0"\e$B$H$7$F$/$@$5$$!#\e(B
575 </p>
576 <p>
577 backend_hostname \e$B$O?7$7$/DI2C$7$?9T$r@_Dj%U%!%$%k:FFI$_9~$_$GDI2C$9$k\e(B
578 \e$B$3$H$,$G$-$^$9!#$9$G$K$"$k>pJs$rESCf$GJQ99$9$k$3$H$O$G$-$^$;$s!#JQ99$9\e(B
579 \e$B$k>l9g$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
580 </p>
581
582 <dt>backend_port
583 <dd>
584 <p>
585 \e$B;HMQ$9$k\e(BPostgreSQL\e$B%5!<%P$N%]!<%HHV9f$r;XDj$7$^$9!#\e(B
586 \e$B<B:]$K$O!"\e(B"backend_port"\e$B$N8e$K\e(B0, 1, 2...\e$B$H\e(BDB\e$B%N!<%I\e(BID\e$B$rIU2C$7$F;HMQ$9$kJ#?t\e(B
587 \e$B$N\e(BPostgreSQL\e$B$r6hJL$7$^$9!#\e(B1\e$BBf$7$+\e(BPostgreSQL\e$B$r;HMQ$7$J$$>l9g$O!"\e(B
588 "backend_port0"\e$B$H$7$F$/$@$5$$!#\e(B
589 </p>
590
591 <p>
592 backend_port \e$B$O?7$7$/DI2C$7$?9T$r@_Dj%U%!%$%k:FFI$_9~$_$GDI2C$9$k\e(B
593 \e$B$3$H$,$G$-$^$9!#$9$G$K$"$k>pJs$rESCf$GJQ99$9$k$3$H$O$G$-$^$;$s!#JQ99$9\e(B
594 \e$B$k>l9g$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
595 </p>
596
597
598 <dt>backend_weight
599 <dd>
600 <p>
601 \e$B;HMQ$9$k\e(BPostgreSQL\e$B%5!<%P$KBP$9$kIi2YJ,;6$NHfN($r;XDj$7$^$9!#\e(B
602 \e$B<B:]$K$O!"\e(B"backend_weight"\e$B$N8e$K\e(BDB\e$B%N!<%I\e(BID\e$B$rIU2C$7$F;HMQ$9$kJ#?t\e(B
603 \e$B$N\e(BPostgreSQL\e$B$r6hJL$7$^$9!#\e(B1\e$BBf$7$+\e(BPostgreSQL\e$B$r;HMQ$7$J$$>l9g$O!"\e(B
604 "backend_weight0"\e$B$H$7$F$/$@$5$$!#\e(B
605 \e$BIi2YJ,;6$r;HMQ$7$J$$>l9g$O!"!V\e(B1\e$B!W$r@_Dj$7$F$/$@$5$$!#\e(B
606 </p>
607
608 <p>
609 backend_weight \e$B$O?7$7$/DI2C$7$?9T$r@_Dj%U%!%$%k:FFI$_9~$_$GDI2C$9$k\e(B
610 \e$B$3$H$,$G$-$^$9!#$9$G$K$"$k>pJs$rESCf$GJQ99$9$k$3$H$O$G$-$^$;$s!#JQ99$9\e(B
611 \e$B$k>l9g$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
612 </p>
613
614 <dt>backend_data_directory
615 <dd>
616 <p>
617 \e$B;HMQ$9$k\e(B PostgreSQL \e$B%5!<%P$N%G!<%?%Y!<%9%/%i%9%?$N%Q%9$r;XDj$7$^$9!#\e(B
618 \e$B<B:]$K$O!"\e(B"backend_data_directory"\e$B$N8e$K\e(BDB\e$B%N!<%I\e(BID\e$B$rIU2C$7$F;HMQ$9$kJ#\e(B
619 \e$B?t$N\e(BPostgreSQL\e$B$r6hJL$7$^$9!#\e(B
620 \e$B$3$N%Q%i%a!<%?$O%*%s%i%$%s%j%+%P%j$N:]$K;HMQ$7$^$9!#%*%s%i%$%s%j%+%P%j\e(B
621 \e$B$r;HMQ$7$J$$>l9g$K$O@_Dj$9$kI,MW$O$"$j$^$;$s!#\e(B
622 </p>
623
624 <p>
625 backend_data_directory \e$B$O?7$7$/DI2C$7$?9T$r@_Dj%U%!%$%k:FFI$_9~$_$GDI2C$9$k\e(B
626 \e$B$3$H$,$G$-$^$9!#$9$G$K$"$k>pJs$rESCf$GJQ99$9$k$3$H$O$G$-$^$;$s!#JQ99$9\e(B
627 \e$B$k>l9g$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
628 </p>
629
630 </dl>
631
632 <h4><p>raw\e$B%b!<%I$K$*$1$k%U%'%$%k%*!<%PF0:n$K$D$$$F\e(B</p></h4>
633 <p>
634 raw\e$B%b!<%I$K$*$$$F!"\e(B2\e$BBf0J>e$N\e(BPostgreSQL\e$B%5!<%P$r;XDj$9$k$H!"%U%'%$%k%*!<%P\e(B
635 \e$B$,2DG=$G$9!#%U%'%$%k%*!<%P$G$O!"@5>o;~$K$O\e(Bbackend_hostname0\e$B$G;XDj$7$?\e(B
636 PostgreSQL\e$B$N$_$r;HMQ$7!"$[$+$N%5!<%P$K$O%"%/%;%9$7$^$;$s!#\e(B
637 backend_hostname0\e$B$N%5!<%P$,%@%&%s$9$k$H!"<!$K\e(Bbackend_hostname1\e$B$G;XDj$7$?\e(B
638 \e$B%5!<%P$K%"%/%;%9$r$3$3$m$_!"@.8y$9$l$P$=$l$r;HMQ$7$^$9!#0J2<!"\e(B
639 backend_hostname2...\e$B$G$bF1MM$K$J$j$^$9!#\e(B
640
641 </p>
642
643 <h3>\e$B%3%M%/%7%g%s%W!<%k%b!<%I\e(B</h3>
644 <p>
645 raw\e$B%b!<%I$K2C$(!"%3%M%/%7%g%s%W!<%j%s%0$,MxMQ$G$-$k$h$&$K$J$j$^$9!#\e(B
646 \e$B@_Dj9`L\$O!"\e(Braw\e$B%b!<%I$G$N@_Dj9`L\$NB>$K0J2<$r@_Dj$7$^$9!#\e(B
647 </p>
648
649 <dl>
650 <dt>max_pool
651 <dd>
652 <p>
653    pgpool-II\e$B$N3F%5!<%P%W%m%;%9$,%-!<%W$9$k\e(BPostgreSQL\e$B$X$N:GBg%3%M%/%7%g%s\e(B
654    \e$B?t$G$9!#\e(Bpgpool-II\e$B$O!"%f!<%6L>!"%G!<%?%Y!<%9$,F1$8$J$i$P%3%M%/%7%g%s$r\e(B
655    \e$B:FMxMQ$7$^$9$,!"$=$&$G$J$1$l$P?7$?$K\e(BPostgreSQL\e$B$X$N%3%M%/%7%g%s$r3N\e(B
656    \e$BN)$7$h$&$H$7$^$9!#$7$?$,$C$F!"$3$3$G$OA[Dj$5$l$k\e(B[\e$B%f!<%6L>\e(B:\e$B%G!<%?%Y!<\e(B
657    \e$B%9L>\e(B]\e$B$N%Z%"$N<oN`$N?t$@$1$r\e(Bmax_pool\e$B$K;XDj$7$F$*$/I,MW$,$"$j$^$9!#$b\e(B
658    \e$B$7\e(Bmax_pool\e$B$r;H$$$-$C$F$7$^$C$?>l9g$O0lHV8E$$%3%M%/%7%g%s$r@ZCG$7!"\e(B
659    \e$B$=$N%9%m%C%H$,:FMxMQ$5$l$^$9!#\e(B
660
661    max_pool\e$B$N%G%U%)%k%HCM$O\e(B4\e$B$G$9!#\e(B
662
663    \e$B$J$*!"\e(Bpgpool-II\e$BA4BN$H$7$F$O!"\e(Bnum_init_children*max_pool \e$BJ,$@$1\e(B
664    PostgreSQL\e$B$X$N%3%M%/%7%g%s$,D%$i$l$kE@$KCm0U$7$F$/$@$5$$!#\e(B
665
666 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
667 </p>
668
669 <dt>connection_life_time
670 <dd>
671 <p>
672    \e$B%3%M%/%7%g%s%W!<%kCf$N%3%M%/%7%g%s$NM-8z4|4V$rICC10L$G;XDj$7$^$9!#\e(B0
673    \e$B$r;XDj$9$k$HM-8z4|4V$OL58B$K$J$j$^$9!#\e(Bconnection_life_time\e$B$N%G%U%)\e(B
674    \e$B%k%HCM$O\e(B0\e$B$G$9!#\e(B
675 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
676 </p>
677
678 <dt>reset_query_list
679 <dd>
680 <p>
681    \e$B%;%C%7%g%s$,=*N;$9$k$H$-$K%3%M%/%7%g%s$r=i4|2=$9$k$?$a$N\e(BSQL\e$B%3%^%s%I\e(B
682    \e$B$r!V\e(B;\e$B!W$G6h@Z$C$FNs5s$7$^$9!#%G%U%)%k%H$O0J2<$N$h$&$K$J$C$F$$$^$9$,!"\e(B
683    \e$BG$0U$N\e(BSQL\e$BJ8$rDI2C$7$F$b9=$$$^$;$s!#\e(B
684 <pre>
685    reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
686 </pre>
687
688 <p>
689    PostgreSQL\e$B$N%P!<%8%g%s$K$h$C$F;HMQ$G$-$k\e(BSQL\e$B%3%^%s%I$,0c$$$^$9$,!"\e(B
690    \e$B3F%P!<%8%g%s$4$H$N$*4+$a@_Dj$O0J2<$G$9!#\e(B
691 </p>
692 <p>
693 <table border>
694 <tr><th>PostgreSQL\e$B%P!<%8%g%s\e(B</th><th>reset_query_list\e$B$N@_DjCM\e(B</th></tr>
695 <tr><td>7.1\e$B0JA0\e(B</td><td>ABORT</td></tr>
696 <tr><td>7.2\e$B$+$i\e(B8.2</td><td>ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT</td></tr>
697 <tr><td>8.3\e$B0J9_\e(B</td><td>ABORT; DISCARD ALL</td></tr>
698 </table>
699 </p>
700 <p>
701
702 <ul>
703 <li>\e$B!V\e(BABORT\e$B!W$O!"\e(BPostgreSQL 7.4\e$B0J>e$G$O%H%i%s%6%/%7%g%s%V%m%C%/$NCf$K$$\e(B
704          \e$B$J$$>l9g$K$OH/9T$5$l$^$;$s!#\e(B
705 <li>DISCARD ALL\e$B$O%7%9%F%`%F!<%V%k$N\e(Bpg_listener\e$B$KGSB>%m%C%/$r$+$1$k$?$a!"\e(B
706          \e$BF1;~<B9T%;%C%7%g%s$,B?$$$H$-$O@-G=Dc2<$r5/$7$^$9!#\e(B
707          \e$BF1;~<B9T%;%C%7%g%s$,B?$$>l9g$O!"LLE]$G$b\e(BDISCARD\e$B%3%^%s%I$GGK4~$7$?$$%*%V%8%'%/%H$r$$$A$$$A;XDj$9$k$3$H$r$*4+$a$7$^$9!#\e(B
708 </ul>
709
710 </p>
711
712 <p>
713 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
714 </p>
715 </dd>
716
717 </dl>
718
719 <h4><p>\e$B%3%M%/%7%g%s%W!<%k%b!<%I$K$*$1$k%U%'%$%k%*!<%PF0:n$K$D$$$F\e(B</p></h4>
720 <p>
721 raw\e$B%b!<%I$HF1MM$NF0:n$r$7$^$9!#\e(B
722 </p>
723
724 <h3>\e$B%l%W%j%1!<%7%g%s%b!<%I\e(B</h3>
725 <p>
726 \e$B%l%W%j%1!<%7%g%s$rM-8z$K$9$k%b!<%I$G$9!#\e(B
727 raw\e$B%b!<%I!"%3%M%/%7%g%s%W!<%k%b!<%I$K2C$(!"0J2<$r@_Dj$7$^$9!#\e(B
728 </p>
729
730 <dl>
731 <dt>replication_mode
732 <dd>
733 <p>
734    \e$B%l%W%j%1!<%7%g%s%b!<%I$GF0:n$5$;$k>l9g$O\e(Btrue\e$B$r;XDj$7$F$/$@$5$$!#%G\e(B
735    \e$B%U%)%k%HCM$O\e(Bfalse\e$B$G$9!#\e(B
736 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
737 </p>
738
739 <dt>load_balance_mode
740 <dd>
741 <p>
742    true\e$B$r;XDj$9$k$H%l%W%j%1!<%7%g%s%b!<%I$N:]$K!"\e(BSELECT\e$BJ8$r%^%9%?$H%;\e(B
743    \e$B%+%s%@%j$N4V$G%m!<%I%P%i%s%9$7$^$9!#%G%U%)%k%HCM$O\e(Bfalse\e$B$G$9!#\e(B
744 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
745 </p>
746
747 <dt>replication_stop_on_mismatch
748 <dd>
749 <p>
750    true\e$B$r;XDj$9$k$H%^%9%?!<\e(BDB\e$B$HB>$N\e(BDB\e$B%N!<%I$N4V$G%G!<%?$NIT0lCW$,$"$C$?>l9g\e(B
751    \e$B$K6/@)E*$K=LB`1?E>$KF~$j$^$9!#$3$N%*%W%7%g%s$,\e(Bfalse\e$B$N>l9g$O!"3:Ev$N\e(B
752    \e$BLd$$9g$o$;$r6/@)E*$K=*N;$9$k$@$1$KN1$a$^$9!#%G%U%)%k%HCM$O\e(Bfalse\e$B$G$9!#\e(B
753 </p>
754
755 <a name="replicate_select">
756 <dt>replicate_select
757 <dd>
758 <p>
759    true \e$B$r@_Dj$9$k$H%m!<%I%P%i%s%9$5$l$J$$\e(B SELECT \e$BJ8$r%l%W%j%1!<%7%g%s\e(B
760    \e$B$5$;$^$9!#$3$l$O\e(B pgpool-II 1.0 \e$B$^$G$N5sF0$HF1$8$K$J$j$^$9!#\e(Bfalse \e$B$r\e(B
761    \e$B@_Dj$9$k$H\e(B SELECT \e$BJ8$r%^%9%?$N$_$KAw?.$7$^$9!#%G%U%)%k%HCM$O\e(B false
762    \e$B$G$9!#\e(B
763 </p>
764 <p>
765 replicate_select\e$B!"\e(Bload_balance_mode\e$B!"\e(BSELECT\e$BLd9g$o$;$,L@<(E*$J%H%i%s%6%/%7%g%s%V%m%C%/$NFbB&$K$"$k$+$I$&$+$I$&$+$G!"%l%W%j%1!<%7%g%s%b!<%I$NF0:n$,JQ2=$7$^$9!#>\:Y$rI=$K<($7$^$9!#\e(B
766 </p>
767
768 <p>
769 <table border>
770
771 <tr>
772 <td>SELECT\e$B$,L@<(E*$J%H%i%s%6%/%7%g%s%V%m%C%/$NFbB&$K$"$k\e(B</td>
773 <td>Y</td>
774 <td>Y</td>
775 <td>Y</td>
776 <td>N</td>
777 <td>N</td>
778 <td>N</td>
779 <td>Y</td>
780 <td>N</td>
781 </tr>
782
783 <tr>
784 <td>replicate_select\e$B$,\e(Btrue</td>
785 <td>Y</td>
786 <td>Y</td>
787 <td>N</td>
788 <td>N</td>
789 <td>Y</td>
790 <td>Y</td>
791 <td>N</td>
792 <td>N</td>
793 </tr>
794
795 <tr>
796 <td>load_balance_mode\e$B$,\e(Btrue</td>
797 <td>Y</td>
798 <td>N</td>
799 <td>N</td>
800 <td>N</td>
801 <td>Y</td>
802 <td>N</td>
803 <td>Y</td>
804 <td>Y</td>
805 </tr>
806
807 <tr>
808 <td>\e$B7k2L\e(B(R:\e$B%l%W%j%1!<%7%g%s\e(B, M: \e$B%^%9%?$N$_$KAw?.!"\e(BL: \e$B%m!<%I%P%i%s%9$5$l$k\e(B</td>
809 <td>R</td>
810 <td>R</td>
811 <td>M</td>
812 <td>M</td>
813 <td>L</td>
814 <td>R</td>
815 <td>M</td>
816 <td>L</td>
817 </tr>
818 </table>
819 </p>
820
821 <dt>insert_lock
822 <dd>
823 <p>
824    SERIAL\e$B7?$r;H$C$F$$$k%F!<%V%k$r%l%W%j%1!<%7%g%s$9$k$H!"\e(BSERIAL\e$B7?$NNs\e(B
825    \e$B$NCM$,\e(BDB\e$B%N!<%I$N4V$G0lCW$7$J$/$J$k$3$H$,$"$j$^$9!#$3$NLdBj$O!"\e(B
826    \e$B3:Ev%F!<%V%k$rL@<(E*$K%m%C%/$9$k$3$H$G2sHr$G$-$^$9\e(B(\e$B$b$A$m$s%H%i%s%6\e(B
827    \e$B%/%7%g%s$NJBNs<B9T@-$O5>@7$K$J$j$^$9$,\e(B)\e$B!#$7$+$7!"$=$N$?$a$K$O!"\e(B
828 </p>
829 <pre>
830    INSERT INTO ...
831 </pre>
832
833 <p>
834    \e$B$r\e(B
835 </p>
836
837 <pre>
838    BEGIN;
839    LOCK TABLE ...
840    INSERT INTO ...
841    COMMIT;
842 </pre>
843
844 <p>
845    \e$B$K=q$-49$($J$1$l$P$J$j$^$;$s!#\e(Binsert_lock\e$B$r\e(Btrue\e$B$K$9$k$H<+F0E*$K%H%i\e(B
846    \e$B%s%6%/%7%g%s$N3+;O!"%F!<%V%k%m%C%/!"%H%i%s%6%/%7%g%s$N=*N;$r9T$C$F\e(B
847    \e$B$/$l$k$N$G!"$3$&$7$?<j4V$r>J$/$3$H$,$G$-$^$9!J$9$G$K%H%i%s%6%/%7%g\e(B
848    \e$B%s$,3+;O$5$l$F$$$k>l9g$O\e(BLOCK TABLE...\e$B$@$1$,<B9T$5$l$^$9!K!#\e(B
849    \e$B%F!<%V%k$G\e(BSERIAL\e$B7?$,;H$o$l$F$$$J$$>l9g$K$O!"%F!<%V%k$N%m%C%/$O9T$J$o$l$^$;$s!#\e(B
850    \e$B$J$*!"$"$^$jI,MW$J$$$+$bCN$l$^$;$s$,!"%3%a%s%H$rMxMQ$7$F!"$3$N5sF0$r\e(B
851    \e$B:Y$+$/@)8f$9$k$3$H$b$G$-$^$9!#\e(B
852 </p>
853
854 <ol>
855 <li>insert_lock\e$B$r\e(Btrue\e$B$K$7$F!"\e(BINSERT\e$BJ8$N@hF,$K\e(B/*NO INSERT LOCK*/\e$B%3%a\e(B
856       \e$B%s%H$rDI2C$9$k!#$3$N%3%a%s%H$,$"$k$H!"%F!<%V%k%m%C%/$O9T$o$l$^$;\e(B
857       \e$B$s!#\e(B
858
859 <li>insert_lock\e$B$r\e(Bfalse\e$B$K$7$F!"\e(BINSERT\e$BJ8$N@hF,$K\e(B/*INSERT LOCK*/\e$B%3%a%s\e(B
860       \e$B%H$rDI2C$9$k!#$3$N%3%a%s%H$,$"$k$H!"$3$N\e(BINSERT\e$BJ8$KBP$7$F$N$_%F!<\e(B
861       \e$B%V%k%m%C%/$,9T$o$l$^$9!#\e(B
862 </ol>
863
864 <p>
865    insert_lock\e$B$N%G%U%)%k%HCM$O\e(Btrue\e$B$G$9!#\e(B
866
867    \e$B$J$*!"\e(Binsert_lock\e$B$rM-8z$K$7$F\e(Bregression test\e$B$r<B9T$9$k$H!">/$/$H$b\e(B
868    PostgreSQL 8.0\e$B$G$O\e(Btransactions, privileges, rules, alter_table\e$B$,\e(B
869    fail\e$B$7$^$9!#\e(Brule\e$B$G$O!"\e(Bview\e$B$KBP$7$F\e(BLOCK\e$B$r$7$h$&$H$7$F$7$^$&$3$H!"\e(B
870    \e$B$[$+$N$b$N$O\e(B
871 </p>
872 <pre>
873    ! ERROR:  current transaction is aborted, commands ignored until end of transaction block
874 </pre>
875
876 <p>
877    \e$B$H$$$&$h$&$J%a%C%;!<%8$,=P$F$7$^$&$?$a$G$9!#$?$H$($P!"\e(Btransactions 
878    \e$B$G$O!"B8:_$7$J$$%F!<%V%k$KBP$7$F\e(BINSERT\e$B$r9T$&%F%9%H$,4^$^$l$F$*$j!"\e(B
879    pgpool\e$B$,:G=i$KB8:_$7$J$$%F!<%V%k$KBP$7$F\e(BLOCK\e$B$r9T$&7k2L!"%(%i!<$K$J$C\e(B
880    \e$B$F%H%i%s%6%/%7%g%s$,%"%\!<%H>uBV$K$J$j!"B3$/\e(BINSERT\e$B$G>e5-%(%i!<$,=P\e(B
881    \e$B$F$7$^$$$^$9!#\e(B
882 </p>
883
884 <p>
885 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
886 </p>
887
888
889 <dt>recovery_user
890 <dd>
891 <p>
892    \e$B%*%s%i%$%s%j%+%P%j$r9T$&$?$a$N\e(B PostgreSQL \e$B%f!<%6L>$G$9!#\e(B
893 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
894 </p>
895
896 <dt>recovery_password
897 <dd>
898 <p>
899    \e$B%*%s%i%$%s%j%+%P%j$r9T$&$?$a$N\e(B PostgreSQL \e$B%f!<%6%Q%9%o!<%I$G$9!#\e(B
900 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
901 </p>
902
903 <dt>recovery_1st_stage_command
904 <dd>
905 <p>
906   \e$B:G=i$K%*%s%i%$%s%j%+%P%jCf$K5/F0$9$k%3%^%s%IL>$r;XDj$7$^$9!#%3%^%s%I\e(B
907   \e$B%U%!%$%k$O%;%-%e%j%F%#>e$N4QE@$+$i%G!<%?%Y!<%9%/%i%9%?0J2<$K$"$k%3%^\e(B
908   \e$B%s%I$d%9%/%j%W%H$N$_$r8F$S=P$7$^$9!#\e(B
909
910   \e$BNc$($P!"\e(Brecovery_1st_stage_command = 'sync-command' \e$B$H@_Dj$7$F$"$k>l\e(B
911   \e$B9g!"\e(B$PGDATA/sync-command \e$B$r5/F0$7$h$&$H$7$^$9!#\e(B
912
913   recovery_1st_stage_command \e$B$r<B9T$7$F$$$k4V$O\e(B pgpool \e$B$G$O%/%i%$%"%s\e(B
914   \e$B%H$+$i$N@\B3$r\e(B<b>\e$B@)8B$7$^$;$s\e(B</b>\e$B!#;2>H$d99?7$r9T$&$3$H$,$G$-$^$9!#\e(B
915 </p>
916 <p>
917 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
918 </p>
919
920 <dt>recovery_2nd_stage_command
921 <dd>
922 <p>
923   2 \e$B2sL\$N%*%s%i%$%s%j%+%P%jCf$K5/F0$9$k%3%^%s%IL>$r;XDj$7$^$9!#%3%^%s\e(B
924   \e$B%I%U%!%$%k$O%;%-%e%j%F%#>e$N4QE@$+$i%G!<%?%Y!<%9%/%i%9%?0J2<$K$"$k%3\e(B
925   \e$B%^%s%I$d%9%/%j%W%H$N$_$r8F$S=P$7$^$9!#\e(B
926
927   \e$BNc$($P!"\e(Brecovery_2nd_stage_command = 'sync-command' \e$B$H@_Dj$7$F$"$k>l\e(B
928   \e$B9g!"\e(B$PGDATA/sync-command \e$B$r5/F0$7$h$&$H$7$^$9!#\e(B
929
930   recovery_2nd_stage_command \e$B$r<B9T$7$F$$$k4V$O\e(B pgpool \e$B$G$O%/%i%$%"%s\e(B
931   \e$B%H$+$i@\B3!";2>H!"99?7=hM}$r0l@Z\e(B<b>\e$B<u$1IU$1$^$;$s\e(B</b>\e$B!#$^$?!"%P%C%A\e(B
932   \e$B=hM}$J$I$K$h$C$F@\B3$7$F$$$k%/%i%$%"%s%H$,D9;~4VB8:_$7$F$$$k>l9g$K$O\e(B
933   \e$B%3%^%s%I$r5/F0$7$^$;$s!#@\B3$r@)8B$7!"8=:_$N@\B3?t$,\e(B 0 \e$B$K$J$C$?;~E@\e(B
934   \e$B$G%3%^%s%I$r5/F0$7$^$9!#\e(B
935 </p>
936 <p>
937 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
938 </p>
939
940 <dt>recovery_timeout
941 <dd>
942 <p>
943   pgpool\e$B$O!"%*%s%i%$%s%j%+%P%j$N:]$K$9$Y$F$N%/%i%$%"%s%H$,@\B3$r=*N;$9$k$^$GBT$A$^$9!#\e(B
944   recovery_timeout\e$B$G$=$N:GBgBT$A;~4V$r;XDj$7$^$9!#C10L$OIC$G$9!#\e(B
945   \e$BBT$A;~4V$,\e(Brecovery_timeout\e$B$r1[$($k$H!"%*%s%i%$%s%j%+%P%j$OCf;_$5$l!"DL>o$N>uBV$KLa$j$^$9!#\e(B
946 </p>
947 <p>
948  \e$B%"%$%I%k>uBV$N%/%i%$%"%s%H$,<+J,$+$i@ZCG$9$k$N$rBT$A$?$/$J$$>l9g$O!"\e(Bclient_idle_limit_in_recovery\e$B$rMxMQ$9$k$3$H$b$G$-$^$9!#\e(B
949 </p>
950 </p>
951 <p>
952 recovery_timeout\e$B$O!"$3$NB>!"%*%s%i%$%s%j%+%P%j$N:G8e$K%j%+%P%jBP>]$N\e(BDB\e$B%N!<%I$G\e(Bpostmaster\e$B$r5/F0$9$k:]$NBT$A;~4V$K$bMxMQ$5$l$^$9!#\e(B
953 </p>
954 <p>
955 recovery_timeout\e$B$N%G%U%)%k%HCM$O\e(B90\e$BIC$G$9!#\e(B
956 recovery_timeout\e$B$r\e(B0\e$B$H$7$F$b%?%$%`%"%&%H$,L58z$K$J$k$o$1$G$O$J$/!"C1$KB(:B$K%?%$%`%"%&%H$9$k$@$1$G$9$N$GCm0U$7$F$/$@$5$$!#\e(B
957 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
958 </p>
959
960 <dt>client_idle_limit_in_recovery
961 <dd>
962 <p>
963   client_idle_limit\e$B$H;w$F$$$^$9$,!"$3$N%Q%i%a!<%?$O%j%+%P%j$N%;%+%s%I%9\e(B
964   \e$B%F!<%8$G$N$_8zNO$,$"$j$^$9!#A02s%/%i%$%"%s%H$+$iMh$?%/%(%j$+$i!"\e(B
965   client_idle_limit_in_recovery \e$BIC1[$($F$b<!$N%/%(%j$,FO$+$J$$>l9g$O!"%/\e(B
966   \e$B%i%$%"%s%H$X$N@\B3$r6/@)E*$K@ZCG$7!"\e(B
967   \e$B%j%+%P%j$N%;%+%s%I%9%F!<%8$N?J9T$,K832$5$l$k$N$rKI$.$^$9!#%G%U%)%k%HCM$O\e(B 0(\e$BL58z\e(B)\e$B$G$9!#\e(B
968 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O@_Dj%U%!%$%k$r:FFI$_9~$_$7$F$/$@$5$$!#\e(B
969 </p>
970
971 </dl>
972
973 <h4><p>\e$B%m!<%I%P%i%s%9$N>r7o$K$D$$$F\e(B</p></h4>
974 <p>
975 load_balance_mode = true \e$B$r@_Dj$7$?>l9g!"0J2<$N>r7o$N$9$Y$F$rK~$?$7$?;~$K\e(BSELECT\e$B$J$I$NLd$$9g$o$;$,%m!<%I%P%i%s%9$5$l$^$9!#\e(B
976 <ul>
977 <li>PostgreSQL\e$B$N%P!<%8%g%s$,\e(B7.4\e$B0J9_$G$"$k\e(B
978 <li>\e$BLd$$9g$o$;$,L@<(E*$J%H%i%s%/%6%7%g%s%V%m%C%/$NFbB&$K$J$$\e(B(\e$B$D$^$j!"\e(BBEGIN\e$B$rH/9T$7$F$$$J$$\e(B)
979 <li>SELECT\e$BJ8\e(B(\e$B$?$@$7!"\e(BSELECT nextval \e$B$H\e(B SELECT setval \e$B$N>l9g$O=|$/\e(B)\e$B$^$?$O\e(BCOPY TO STDOUT, DECLARE..SELECT, FETCH, CLOSE\e$B$N$$$:$l$+$G$"$k\e(B
980 <li>SELECT INTO \e$BJ8$G$O$J$$\e(B
981 <li>SELECT FOR UPDATE/SELECT FOR SHARE\e$BJ8$G$O$J$$\e(B
982 <li>\e$B%/%(%jJ8;zNs$,\e(B SELECT \e$B$G;O$^$k\e(B(ignore_leading_white_space = true\e$B$N>l9g$O6uGr$OL5;k$7$^$9\e(B)
983 </ul>
984 </p>
985 <p>
986
987 (<a href="#replicate_select">replicate_select\e$B$N9`L\\e(B</a>\e$B$b;29M$K$7$F$/$@$5$$\e(B)
988 \e$B$^$?!"\e(B<a href="load_balance.png">\e$B>\:Y$JH=Dj>r7o$r%U%m!<%A%c!<%H$K$7$?$b\e(B</a>\e$B$N$b$4Mw2<$5$$!#\e(B
989
990 \e$B$J$*!"\e(B
991 <pre>
992   /*REPLICATION*/ SELECT ...
993 </pre>
994 </p>
995 <p>
996 \e$B$H$9$k$3$H$K$h$C$F!"K\MhIi2YJ,;6$5$l$?$j!"%^%9%?$N$_$KAw?.$5$l$k$Y$-Ld9g$o$;$,$9$Y$F$N%P%C%/%(%s%I$KAw?.$5$l$k!J%l%W%j%1!<%7%g%s$5$l$k!K$h$&$K$J$j$^$9!#I{:nMQ$,$"$k4X?t$r4^$`Ld9g$o$;$KBP$7$F$O$3$N%F%/%K%C%/$,MxMQ$G$-$^$9!#\e(B
997 </p>
998
999 <p>
1000 <font color="red">
1001 \e$BCm0U\e(B: JDBC \e$B%I%i%$%P$J$I$N$h$&$K!"%I%i%$%PFb$G\e(B autocommit \e$B$NM-8z!&L58z$N%*%W%7%g%s$,$"$k>l9g!"\e(B
1002 autocommit \e$B$rL58z$K$9$k$H!"\e(Bpgpool\e$B$,FbIt$G\e(B BEGIN \e$B%3%^%s%I$r<B9T$9$k4X78>e!"@5$7$/%m!<%I%P%i%s%9$5$l$J$$2DG=@-$,$"$j$^$9!#\e(B
1003 \e$B%/%(%j$r%m!<%I%P%i%s%9$5$;$?$$>l9g$O\e(B autocommit \e$B$rM-8z$K$7$F$/$@$5$$!#\e(B
1004 \e$B$?$H$($P\e(BJDBC\e$B$G$"$l$P\e(B setAutoCommit(true) \e$B$r<B9T$7$F$/$@$5$$!#\e(B
1005 </font>
1006 </p>
1007
1008 <h4><p>\e$B%l%W%j%1!<%7%g%s%b!<%I$K$*$1$k=LB`1?E>$K$D$$$F\e(B</p></h4>
1009 <p>
1010 PostgreSQL\e$B%5!<%P$N$&$A!"\e(B1\e$BBf$,%@%&%s$9$k$H!"$=$N%5!<%P$r@Z$jN%$7$F=LB`1?\e(B
1011 \e$BE>$KF~$j$^$9!#\e(B1\e$BBf$G$b%5!<%P$,@8$-;D$C$F$$$l$P!"%7%9%F%`$H$7$F$N1?MQ$r7Q\e(B
1012 \e$BB3$G$-$^$9!#\e(B
1013 </p>
1014
1015 <h4><p>\e$B%l%W%j%1!<%7%g%s%b!<%I8GM-$N%(%i!<$K$D$$$F\e(B</p></h4>
1016 <p>
1017 \e$B%G!<%?$N@09g@-$rJ]$D$?$a$K!"\e(Bpgpool\e$B$O%l%W%j%1!<%7%g%s;~$K\e(B INSERT, UPDATE,
1018 DELETE \e$B$N99?77o?t$,$9$Y$F$N%N!<%I$,F1$8$G$J$$>l9g!"0U?^E*$K9=J8%(%i!<$r5/$9\e(BSQL\e$B$rAw?.$9$k$3$H$K$h$C$F!"%H%i%s%6%/%7%g%s$r%"%\!<%H$5$;$^$9\e(B(\e$B%U%'%$%k%*!<%P$O5/$-$^$;$s\e(B)\e$B!#0J2<$N$h$&$J46$8$K$J$j$^$9!#\e(B
1019 <pre>
1020    =# UPDATE t SET a = a + 1;
1021    ERROR: pgpool detected difference of the number of update tuples
1022    HINT: check data consistency between master and other db node
1023 </pre>
1024
1025 </p>
1026
1027 <h3>\e$B%^%9%?!<%9%l!<%V%b!<%I\e(B</h3>
1028 <p>
1029   master/slave\e$B%b!<%I$O!"\e(BSlony-I\e$B$N$h$&$J!"\e(Bmaster/slave\e$B<0$N%l%W%j%1!<%7%g\e(B
1030   \e$B%s%=%U%H$K%l%W%j%1!<%7%g%s$r$^$+$;$k%b!<%I$G$9!#$3$N%b!<%I$G;H$&$?$a$K\e(B
1031   \e$B$O!"%l%W%j%1!<%7%g%s%b!<%I$HF1$8$h$&$K!"\e(BDB\e$B%N!<%I$N%[%9%H>pJs\e(B
1032   \e$B$r%;%C%H$7!"\e(Bmaster_slave_mode\e$B$H\e(Bload_balance_mode\e$B$r\e(Btrue\e$B$K$7$^$9!#$3$N$H\e(B
1033   \e$B$-!"Ld$$9g$o$;$K$h$C$F%^%9%?!<\e(BDB\e$B$@$1$KLd$$9g$o$;$,Aw$i$l$k>l9g$H!"\e(BDB
1034   \e$B%N!<%I$N4V$G%m!<%I%P%i%s%9$5$l$FLd$$9g$o$;$,Aw$i$l$k>l9g$,$"$j$^$9!#\e(B
1035   \e$B%m!<%I%P%i%s%9$N>r7o$O%l%W%j%1!<%7%g%s%b!<%I$HF1$8$G$9!#\e(B
1036 </p>
1037
1038 <p>
1039 \e$B%^%9%?!<%9%l!<%V%b!<%I$G$O!"\e(Bpgpool.conf\e$B$N\e(Breplication_mode\e$B$r\e(Bfalse\e$B$K!"\e(Bmaster_slave_mode
1040 \e$B$r\e(Btrue\e$B$K$7$^$9!#\e(B
1041 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
1042 </p>
1043
1044 <h3>\e$B%Q%i%l%k%b!<%I\e(B</h3>
1045 <p>
1046 \e$B%Q%i%l%k%/%(%j5!G=$,MxMQ$G$-$k%b!<%I$G$9!#%F!<%V%k$rJ,3d$5$;!"3F%N!<%I$K%G!<%?\e(B
1047 \e$B$r;}$?$;$k$3$H$,$G$-$^$9!#$^$?%l%W%j%1!<%7%g%s$dIi2YJ,;65!G=$bF1;~$K;H$&$3$H$,\e(B
1048 \e$B$G$-$^$9!#\e(B
1049
1050 \e$B%Q%i%l%k%b!<%I$G$O!"\e(Bpgpool.conf\e$B$N\e(Breplication_mode\e$B$^$?$O\e(Bloadbalance_mode\e$B$K\e(Btrue
1051 \e$B$r@_Dj$7!"\e(Bmaster_slave \e$B$r\e(Bfalse\e$B$K$7!"\e(Bparallel_mode \e$B$r\e(Btrue\e$B$K$7$^$9!#\e(B
1052 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
1053 </p>
1054 <p>
1055 <b>\e$B%7%9%F%`\e(BDB\e$B$N@_Dj\e(B</b>
1056 </p>
1057 <p>
1058 \e$B%Q%i%l%k%b!<%I$rMxMQ$9$k$?$a$K$O!"%7%9%F%`\e(BDB\e$B$r@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
1059 \e$B%7%9%F%`\e(BDB\e$B$O%G!<%?$r3F\e(BPostgreSQL\e$B%5!<%P$GJ,3d$9$k$?$a$N%k!<%k$r\e(B
1060 PostgreSQL\e$B$N%F!<%V%k$N7A$GJ];}$7$^$9!#%7%9%F%`\e(BDB\e$B$O\e(Bpgpool\e$B$,F0:n$9$k%[%9%H\e(B
1061 \e$B$HF1$8%[%9%H$KCV$/I,MW$O$"$j$^$;$s!#%7%9%F%`\e(BDB\e$B$N@_Dj$O\e(Bpgpool.conf\e$B$G9T$$\e(B
1062 \e$B$^$9!#\e(B
1063 </p>
1064
1065 <dl>
1066 <dt>system_db_hostname
1067 <dd>
1068 <p>
1069 \e$B%7%9%F%`\e(BDB\e$B$,F0$$$F$$$k%[%9%HL>$G$9!#6uJ8;z$r;XDj$9$k$H!"\e(BUNIX\e$B%I%a%$%s%=%1%C\e(B
1070 \e$B%H$G@\B3$7$^$9!#\e(B
1071 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
1072 </p>
1073
1074 <dt>system_db_port
1075 <dd>
1076 <p>
1077 \e$B%7%9%F%`\e(BDB\e$B$N%]!<%HHV9f$G$9!#$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II
1078 \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
1079 </p>
1080
1081 <dt>system_dbname
1082 <dd>
1083 <p>
1084 \e$B%7%9%F%`\e(BDB\e$B$O@lMQ$N%G!<%?%Y!<%9$K@_CV$7$^$9!#$=$N%G!<%?%Y!<%9L>$r;XDj$7$^$9!#\e(B
1085 \e$B$3$N%G!<%?%Y!<%9$O$"$i$+$8$aB8:_$7$J$1$l$P$J$j$^$;$s!#$3$3$G$O!"\e(B
1086 "pgpool"\e$B$H$$$&%G!<%?%Y!<%9L>$K$9$k$b$N$H$7$^$9!#\e(B
1087 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
1088 </p>
1089
1090 <dt>system_db_schema
1091 <dd>
1092 <p>
1093 \e$B%7%9%F%`\e(BDB\e$B$O@lMQ$N%9%-!<%^$K@_CV$7$^$9!#$=$N%9%-!<%^L>$r;XDj$7$^$9!#\e(B
1094 \e$B$3$N%9%-!<%^$O$"$i$+$8$aB8:_$7$J$1$l$P$J$j$^$;$s!#$3$3$G$O!"\e(B
1095 "pgpool_catalog"\e$B$H$$$&%9%-!<%^$K$9$k$b$N$H$7$^$9!#\e(B
1096 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
1097 </p>
1098
1099 <dt>system_db_user
1100 <dd>
1101 <p>
1102 \e$B%7%9%F%`\e(BDB\e$B$K@\B3$9$k$H$-$N%f!<%6L>$G$9!#\e(B
1103 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
1104 </p>
1105
1106 <dt>system_db_password
1107 <dd>
1108 <p>
1109 \e$B%7%9%F%`\e(BDB\e$B$K@\B3$9$k$H$-$N%Q%9%o!<%I$G$9!#%Q%9%o!<%I$r@_Dj$7$F$$$J$$>l9g\e(B
1110 \e$B$O6uJ8;z$K$7$F$*$-$^$9!#\e(B
1111 \e$B$3$N%Q%i%a!<%?$rJQ99$7$?;~$K$O\e(B pgpool-II \e$B$r:F5/F0$7$F$/$@$5$$!#\e(B
1112 </p>
1113
1114 </dl>
1115
1116 <h4><p>\e$B%7%9%F%`\e(BDB\e$B$N=i4|@_Dj\e(B</p></h4>
1117 <p>
1118 \e$B%7%9%F%`\e(BDB\e$B$K%9%-!<%^$H%F!<%V%k$r:n@.$7$^$9!#=i4|@_DjMQ$N%9%/%j%W%H$,\e(B
1119 $prefix/share/system_db.sql\e$B$K$"$k$N$G$=$l$rMxMQ$7$^$9!#$?$@$7!"$3$N%9%/\e(B
1120 \e$B%j%W%H$G$O%9%-!<%^L>$,\e(B"pgpool_catalog"\e$B$H$J$C$F$$$k$N$G!"0c$&%9%-!<%^$r;H\e(B
1121 \e$B$&>l9g$OE,Ev$K=q$-49$($F$/$@$5$$!#$^$?!"%G!<%?%Y!<%9L>$H$7$F\e(B"pgpool"\e$B0J30\e(B
1122 \e$B$r;H$&>l9g$O0J2<$rE,Ev$KFI$_BX$($F$/$@$5$$!#\e(B
1123 <p>
1124 psql -f $prefix/share/system_db.sql pgpool
1125 </p>
1126
1127 <h4><p>dblink\e$B$N%$%s%9%H!<%k\e(B</p></h4>
1128 <p>
1129 \e$B%Q%i%l%k%b!<%I$G$O\e(Bdblink\e$B$r;H$$$^$9!#\e(Bdblink\e$B$O\e(BPostgreSQL\e$B%=!<%9%U%!%$%k\e(B
1130 ($POSTGRES_SRC)
1131 </p>
1132 <pre>
1133 $(POSTGRES_SRC)/contrib/dblink
1134 </pre>
1135 <p>
1136 \e$B$K$"$j$^$9!#\e(B$POSTGRES_SRC/contrib/dblink/README.dblink\e$B$r;29M$K%7%9%F%`\e(B
1137 DB\e$B$K\e(Bdblink\e$B$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(B
1138 \e$B$^$?!"\e(Bpgpool\e$B%G!<%?%Y!<%9$K4X?t$NEPO?$,I,MW$G$9!#\e(B
1139 </p>
1140 <pre>
1141 psql pgpool < $POSTGRES_SRC/contrib/dblink/dblink.sql
1142 </pre>
1143
1144 <h4><p>\e$B%3%M%/%7%g%s?t$N@_Dj\e(B</p></h4>
1145 <p>
1146 \e$B%Q%i%l%k%b!<%I$G$O!"%/%(%j$K$h$j%7%9%F%`\e(BDB\e$B$+$i\e(Bdblink\e$B7PM3$G\e(Bpgpool\e$B$K@\B3\e(B
1147 \e$B$9$k$N$G!"A[Dj$5$l$kF1;~@\B3?t0J>e$N%3%M%/%7%g%s$,I,MW$K$J$k>l9g$,$"$j\e(B
1148 \e$B$^$9!#$=$N$?$a!"\e(Bpgpool.conf\e$B$N\e(Bnum_init_children\e$B$K$OF1;~@\B3?t$h$j==J,Bg\e(B
1149 \e$B$-$$CM$r@_Dj$7$F2<$5$$!#\e(B
1150 </p>
1151 <p>
1152 \e$BL\0B$H$7$F0J2<$N<0$G\e(Bnum_init_children\e$B$r@_Dj$7$F$/$@$5$$!#\e(B
1153 </p>
1154 <pre>
1155 num_init_children = \e$BA[Dj$5$l$kF1;~@\B3?t\e(B * ( 1 + \e$B%/%(%j$NCf$G;H$o$l$F$$$k%F!<%V%k$N:GBg?t\e(B)
1156 </pre>
1157
1158 <h4><p>\e$B%G!<%?J,3d%k!<%k$NEPO?\e(B</p></h4>
1159 <p>
1160 \e$B%G!<%?J,3d$r9T$&%F!<%V%k$KBP$7$F$O!"%F!<%V%k>pJs$r$"$i$+$8$a\e(B pgpool_catalog.dist_def 
1161 \e$B$H$$$&%F!<%V%k$KEPO?$7$F$*$-$^$9!#\e(B
1162 </p>
1163
1164 <pre>
1165 CREATE TABLE pgpool_catalog.dist_def(
1166         dbname TEXT,    -- DB\e$BL>\e(B
1167         schema_name TEXT,       --schema\e$BL>\e(B
1168         table_name TEXT,        -- \e$B%F!<%V%kL>\e(B
1169         col_name TEXT NOT NULL CHECK (col_name = ANY (col_list)),       -- \e$BJ,;6%-!<NsL>\e(B
1170         col_list TEXT[] NOT NULL,       -- table\e$B$NB0@-L>\e(B
1171         type_list TEXT[] NOT NULL,      -- \e$BB0@-$N%?%$%WL>\e(B
1172         dist_def_func TEXT NOT NULL,    -- \e$BJ,;6@h$N\e(BDB\e$B%N!<%I$r7hDj$9$k4X?tL>\e(B
1173         PRIMARY KEY (dbname,schema_name,table_name)
1174 );
1175 </pre>
1176 <h4><p>\e$B%l%W%j%1!<%7%g%s%F!<%V%k$N%k!<%kEPO?\e(B</p></h4>
1177 <p>
1178 \e$B0l$D$N\e(BSQL\e$BJ8$K\e(BJOIN\e$BEy$G%G!<%?J,3d%k!<%k$KEPO?$7$?%F!<%V%k$H6&$K\e(B
1179 \e$B%l%W%j%1!<%7%g%s$r9T$&%F!<%V%k$r;XDj$9$k>l9g$K$O!"%l%W%j%1!<%7%g%s\e(B
1180 \e$B$r9T$&%F!<%V%k$N>pJs$r$"$i$+$8$a!"\e(Bpgpool_catalog.replicate_def 
1181 \e$B$H$$$&%F!<%V%k$KEPO?$7$F$*$-$^$9!#\e(B
1182 </p>
1183
1184 <pre>
1185 CREATE TABLE pgpool_catalog.replicate_def(
1186         dbname TEXT,    -- DB\e$BL>\e(B
1187         schema_name TEXT,       --schema\e$BL>\e(B
1188         table_name TEXT,        -- \e$B%F!<%V%kL>\e(B
1189         col_list TEXT[] NOT NULL,       -- table\e$B$NB0@-L>\e(B
1190         type_list TEXT[] NOT NULL,      -- \e$BB0@-$N%?%$%WL>\e(B
1191         PRIMARY KEY (dbname,schema_name,table_name)
1192 );
1193 </pre>
1194
1195 </p>
1196
1197 <p>
1198 pgbench\e$B$N%F!<%V%k$rJ,3d$9$k%k!<%k$NNc$r<($7$^$9!#\e(B
1199 </p>
1200 <p>
1201 \e$B$3$NNc$G$O!"\e(Baccounts\e$B%F!<%V%k$KBP$7$F$OJ,3d$r9T$$!"\e(Bbranches\e$B%F!<%V%k\e(B
1202 \e$B$H\e(Btellers\e$B%F!<%V%k$KBP$7$F$O%l%W%j%1!<%7%g%s$r9T$&$3$H$K$7$^$9!#\e(B
1203 \e$B$^$?!"\e(Baccounts\e$B%F!<%V%k$H\e(Bbanches\e$B%F!<%V%k$O\e(Bbid\e$B$G7k9g$5$l$k$3$H$rA[Dj$7\e(B
1204 branches\e$B%F!<%V%k$O%l%W%j%1!<%7%g%s%F!<%V%k$N%k!<%kEPO?$r9T$$$^$9!#\e(B
1205
1206 \e$B$b$7!"\e(Baccounts\e$B%F!<%V%k!"\e(Bbranches\e$B%F!<%V%k$H\e(Btellers\e$B%F!<%V%k$N#3$D$N\e(B
1207 \e$B%F!<%V%k$N7k9g$,9T$o$l$k>l9g$K$O!"$"$i$+$8$a\e(Btellers\e$B%F!<%V%k$KBP$7$F$b\e(B
1208 \e$B%l%W%j%1!<%7%g%s%F!<%V%k$N%k!<%kEPO?$r9T$&I,MW$,$"$j$^$9!#!!\e(B
1209 </p>
1210
1211
1212 <pre>
1213 INSERT INTO pgpool_catalog.dist_def VALUES (
1214         'pgpool',
1215         'public',
1216         'accounts',
1217         'aid',
1218         ARRAY['aid','bid','abalance','filler'],
1219         ARRAY['integer','integer','integer','character(84)'],
1220         'pgpool_catalog.dist_def_accounts'
1221 );
1222
1223 INSERT INTO pgpool_catalog.replicate_def VALUES (
1224         'pgpool',
1225         'public',
1226         'branches',
1227         ARRAY['bid','bbalance','filler'],
1228         ARRAY['integer','integer','character(84)']
1229 );
1230 </pre>
1231
1232 <p>
1233 \e$B$3$3$G!"\e(Bpgpool_catalog.dist_def_accounts\e$B$O!"0z?t$H$7$FJ,3d%-!<$NCM$r<u$1<h$j!"\e(B
1234 \e$B$I$N\e(BPostgreSQL\e$B%5!<%P\e(B(\e$B!V\e(BDB\e$B%N!<%I!W$H8F$S$^$9\e(B)\e$B$r\e(B0\e$B$+$i$NHV9f$GJV$94X?t$G$9!#$3\e(B
1235 \e$B$3$G$O!"\e(B3\e$BBf$N\e(BDB\e$B%N!<%I$K%G!<%?$rJ,3d$9$k4X?t$NNc$r<($7$^$9!#\e(B
1236 </p>
1237 <pre>
1238 CREATE OR REPLACE FUNCTION pgpool_catalog.dist_def_accounts (val ANYELEMENT) RETURNS INTEGER AS '
1239   SELECT CASE WHEN $1 >= 1 and $1 <= 30000 THEN 0
1240               WHEN $1 > 30000 and $1 <= 60000 THEN 1
1241               ELSE 2
1242   END' LANGUAGE SQL;
1243 </pre>
1244
1245 <h2><a name="hba"></a>\e$B%/%i%$%"%s%HG'>Z\e(B(HBA)\e$B$N$?$a$N\e(B pool_hba.conf \e$B@_DjJ}K!\e(B</h2>
1246 <p>
1247    PostgreSQL\e$B$N\e(Bpg_hba.conf\e$B$HF1$8$h$&$K\e(Bpgpool\e$B$G$b\e(Bpool_config.conf\e$B%U%!%$\e(B
1248    \e$B%k$r;H$C$?%/%i%$%"%s%HG'>Z$,%5%]!<%H$5$l$F$$$^$9!#\e(B
1249 </p>
1250 <p>
1251    pgpool\e$B$r%$%s%9%H!<%k$9$k$H%G%U%)%k%H%$%s%9%H!<%k@h$N@_Dj%U%!%$%k%G%#\e(B
1252    \e$B%l%/%H%j\e(B"/usr/local/etc"\e$B$K\e(Bpool_hba.conf.sample\e$B$,0l=o$K%$%s%9%H!<%k\e(B
1253    \e$B$5$l$^$9!#$3$N\e(Bpool_hba.conf.sample\e$B%U%!%$%k$r\e(Bpool_hba.conf\e$B$H$7$F%3%T!<\e(B
1254    \e$B$7!"I,MW$G$"$l$PJT=8$7$F$/$@$5$$!#%G%U%)%k%H$G$O\e(Bpool_hba\e$B$K$h$kG'>Z$OM-\e(B
1255    \e$B8z$K$J$C$F$$$^$9!#\e(B
1256 </p>
1257 <p>
1258    pool_hba.conf\e$B$N%U%)!<%^%C%H$O\e(Bpg_hba.conf\e$B$N$b$N$H$[$H$s$IF1$8$G$9!#\e(B
1259 </p>
1260 <pre>
1261      local      DATABASE  USER  METHOD  [OPTION]
1262      host       DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTION]
1263 </pre>
1264 <p>
1265    \e$B3F%U%#!<%k%I$G@_Dj$G$-$kCM$N>\:Y$O\e(B"pool_hba.conf.sample"\e$B$r;2>H$7$F\e(B
1266    \e$B$/$@$5$$!#\e(B
1267 </p>
1268 <p>
1269    \e$B0J2<$O\e(Bpool_hba\e$B$N@)8B;v9`$G$9!#\e(B
1270
1271 <ul>
1272 <li>"hostssl"\e$B@\B3%?%$%W$O%5%]!<%H$5$l$^$;$s\e(B</li>
1273 <p>
1274      \e$B8=:_\e(Bpgpool\e$B$O\e(BSSL\e$B@\B3$r%5%]!<%H$7$F$$$J$$$N$G\e(B"hostssl"\e$B$O;XDj$9$k$3\e(B
1275      \e$B$H$,$G$-$^$;$s!#\e(B
1276 </p>
1277 <li>DATABASE\e$B%U%#!<%k%ICM$H$7$F\e(B"samegroup"\e$B$O%5%]!<%H$5$l$^$;$s\e(B</li>
1278 <p>
1279      pgpool\e$B$O%P%C%/%(%s%I%5!<%P$K$"$k%f!<%6>pJs$r;vA0$KCN$k;v$,$G$-$J\e(B
1280      \e$B$$$?$a!"%G!<%?%Y!<%9L>$O\e(Bpool_hba.conf\e$B$K$"$kCM$N$_$HHf3S$5$l$^$9!#\e(B
1281      \e$B$J$N$G%0%k!<%W$K4X$9$kG'>Z$O\e(Bpool_hba\e$B$G9T$&$3$H$,$G$-$^$;$s!#\e(B
1282 </p>
1283 <li>USER\e$B%U%#!<%k%ICM$H$7$F\e(B"+"\e$B$r;H$C$?%0%k!<%W;XDj$O%5%]!<%H$5$l$^$;$s\e(B</li>
1284 <p>
1285      \e$B>e5-$N\e(B"samegroup"\e$B$HF1$8M}M3$G!"%f!<%6L>$O\e(Bpool_hba.conf\e$B$K$"$kCM$N\e(B
1286      \e$B$_$HHf3S$5$l$^$9!#%0%k!<%W$K4X$9$kG'>Z$O\e(Bpool_hba\e$B$G9T$&$3$H$O$G$-\e(B
1287      \e$B$^$;$s!#\e(B
1288 </p>
1289 <li>IPv6\e$B%"%I%l%9\e(B/\e$B%^%9%/I=5-K!$O%5%]!<%H$5$l$^$;$s\e(B</li>
1290 <p>
1291      \e$B8=:_\e(Bpgpool\e$B$O\e(BIPv6\e$B$r%5%]!<%H$7$F$$$^$;$s!#\e(B
1292 </p>
1293 <li>"trust", "reject", "pam"\e$B0J30$N%a%=%C%I$O%5%]!<%H$5$l$^$;$s\e(B</li>
1294 <p>
1295      \e$B$3$l$b>e5-$N\e(B"samegroup"\e$B$HF1$8M}M3$K$h$k$b$N$G$9!#\e(Bpgpool\e$B$O%P%C%/%(\e(B
1296      \e$B%s%I$N%f!<%6\e(B/\e$B%Q%9%o!<%I>pJs$r;}$C$F$$$J$$$N$G!"%P%C%/%(%s%I$KJ]B8\e(B
1297      \e$B$5$l$F$$$k%Q%9%o!<%I$r;H$C$?G'>Z$r9T$&$3$H$,$G$-$^$;$s!#\e(B
1298 </p>
1299 </ul>
1300 </p>
1301 <p>
1302    \e$B$3$3$G@bL@$5$l$?5!G=!"@)8B$O%/%i%$%"%s%H$H\e(Bpgpool\e$B4V$G9T$o$l$k%/%i%$\e(B
1303    \e$B%"%s%HG'>Z$K$D$$$F$@$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#%/%i%$%s%"%s%H$O\e(B
1304    pgpool\e$B$N%/%i%$%"%s%HG'>Z$K@.8y$7$?$H$7$F$b!"\e(BPostgreSQL\e$B$K$h$k%/%i%$\e(B
1305    \e$B%"%s%HG'>Z$K@.8y$7$J$$$H@\B3>uBV$H$J$j$^$;$s!#\e(Bpool_hba\e$B$K$H$C$F$O%/\e(B
1306    \e$B%i%$%"%s%H$K;XDj$5$l$?%f!<%6L>$d%G!<%?%Y!<%9L>\e(B
1307    (\e$BNc\e(B. psql -U testuser testdb)\e$B$,<B:]$K%P%C%/%(%s%I>e$KB8:_$9$k$+$I$&\e(B
1308    \e$B$+$OLdBj$G$O$"$j$^$;$s!#$=$l$,\e(Bpool_hba.conf\e$B$NCM$H%^%C%A$9$k$+$I$&$+\e(B
1309    \e$B$G%A%'%C%/$,9T$o$l$^$9!#\e(B
1310 </p>
1311 <p>
1312    pgpool\e$B$,2TF/$9$k%[%9%H>e$N%f!<%6>pJs$r;H$C$?\e(BPAM\e$BG'>Z$rMxMQ$9$k$3$H$,\e(B
1313    \e$B$G$-$^$9!#\e(Bpgpool\e$B$r\e(BPAM\e$B%5%]!<%HIU$-$G%S%k%I$9$k$K$O\e(Bconfigure\e$B%*%W%7%g\e(B
1314    \e$B%s$K\e(B"--with-pam"\e$B$r;XDj$7$F$/$@$5$$!#\e(B
1315 </p>
1316 <pre>
1317      ./configure --with-pam
1318 </pre>
1319 <p>
1320    \e$B<B:]$K\e(BPAM\e$BG'>Z$rM-8z$K$9$k$K$O!"\e(Bpool_hba.conf\e$B$G\e(B"pam"\e$B%a%=%C%I$r@_Dj$9\e(B
1321    \e$B$k$N$K2C$(!"\e(Bpgpool\e$B$N%5!<%S%9@_Dj%U%!%$%k$r%7%9%F%`$N\e(BPAM\e$B@_Dj%G%#%l%/%H\e(B
1322    \e$B%j!JDL>o$O\e(B /etc/pam.d \e$B$K:n@.$9$kI,MW$,$"$j$^$9!#%5!<%S%9@_Dj%U%!%$\e(B
1323    \e$B%k$NNc$O%$%s%9%H!<%k%G%#%l%/%H%j$N\e(B"share/pgpool.pam"\e$B$r;29M$K$7$F$/\e(B
1324    \e$B$@$5$$!#\e(B
1325 </p>
1326
1327 <h2>\e$B%/%(%j%-%c%C%7%e$N@_DjJ}K!\e(B</h2>
1328
1329 <p>
1330         pgpool-II\e$B$G$O!"$9$Y$F$N%b!<%I$G%/%(%j%-%c%C%7%e$rMxMQ$9$k$3$H$,$G$-$^$9!#\e(B
1331   \e$BMxMQ$9$k>l9g$K$O!"\e(Bpgpool.conf\e$B$N@_Dj$r0J2<$N$h$&$K@_Dj$7$^$9!#\e(B
1332 <pre>
1333 enable_query_cache = true
1334 </pre>
1335 <p>
1336 \e$B$^$?!"%7%9%F%`\e(BDB\e$B$K0J2<$N%F!<%V%k$r:n@.$7$F$/$@$5$$!#\e(B
1337 </p>
1338 <pre>
1339 CREATE TABLE pgpool_catalog.query_cache (
1340   hash TEXT,
1341   query TEXT,
1342   value bytea,
1343   dbname TEXT,
1344   create_time TIMESTAMP WITH TIME ZONE,
1345   PRIMARY KEY(hash, dbname)
1346 );
1347 </pre>
1348 <p>
1349 \e$B$?$@$7!"$3$NNc$G$O%9%-!<%^L>$,\e(B"pgpool_catalog"\e$B$H$J$C$F$$$k$N$G!"0c$&%9%-!<%^$r;H$&>l9g$OE,Ev$K=q$-49$($F$/$@$5$$!#\e(B
1350 </p>
1351
1352
1353 <h1>pgpool-II\e$B$N5/F0$HDd;_\e(B<a name="start"></a></h1>
1354 <p>
1355 \e$B0J>e$G@_Dj$,=*$o$C$?$N$G!"3F\e(BDB\e$B%N!<%I$r5/F0$7!"I,MW$J$i$P%7%9%F%`\e(BDB\e$B$b5/F0\e(B
1356 \e$B$7$F$+$i\e(Bpgpool-II\e$B$r5/F0$7$^$9!#\e(B
1357 <pre>
1358 pgpool [-c][-f config_file][-a hba_file][-F pcp_config_file][-n][-d]
1359 </pre>
1360 </p>
1361 <p>
1362 <table>
1363 <tr><td>-c</td><td>\e$B%/%(%j%-%c%C%7%e$r>C5n$7$^$9\e(B</tr>
1364 <tr><td>-f config_file</td><td>pgpool-II\e$B$N@_Dj%U%!%$%k$r;XDj$7$^$9\e(B</tr>
1365 <tr><td>-a hba_file</td><td>HBA\e$BG'>Z@_Dj%U%!%$%k$r;XDj$7$^$9\e(B</tr>
1366 <tr><td>-F pcp_config_file</td><td>pcp\e$B$N@_Dj%U%!%$%k$r;XDj$7$^$9\e(B</tr>
1367 <tr><td>-n</td><td>\e$B%G!<%b%s%b!<%I$G5/F0$7$^$;$s\e(B(\e$B@)8fC<Kv$r@Z$jN%$7$^$;$s\e(B</tr>
1368 <tr><td>-d</td><td>\e$B%G%P%C%0%b!<%I$G5/F0$7$^$9\e(B</tr>
1369 </table>
1370 </p>
1371 <p>
1372 pgpool-II\e$B$NDd;_$O8e=R$N\e(Bpcp\e$B%3%^%s%I$G$b$G$-$^$9$,!"\e(Bpgpool-II\e$B%3%^%s%I$r;H$&$3$H\e(B
1373 \e$B$b$G$-$^$9!#\e(B
1374 </p>
1375 <pre>
1376 pgpool [-f config_file][-F pcp_config_file] [-m {s[mart]|f[ast]|i[mmediate]}] stop
1377 </pre>
1378
1379 <p>
1380 <table>
1381 <tr><td>-m s[mart]</td><td>\e$B@\B3Cf$N%/%i%$%"%s%H$,@\B3$r=*$o$k$N$rBT$C$F$+$iDd;_$7$^$9\e(B(\e$B%G%U%)%k%H\e(B)</td></tr>
1382 <tr><td>-m f[ast]</td><td>\e$B@\B3Cf$N%/%i%$%"%s%H$,@\B3$r=*$o$k$N$rBT$?$:$KD>$A$KDd;_$7$^$9\e(B</td></tr>
1383 <tr><td>-m i[mmediate]</td><td>-m f\e$B$HF1$8F0:n$G$9\e(B</td></tr>
1384 </table>
1385 </p>
1386
1387 <h1>pgpool-II\e$B$N@_Dj%U%!%$%k$N:FFI$_9~$_\e(B<a name="reload"></a></h1>
1388 <p>
1389 pgpool-II\e$B$N@_Dj%U%!%$%k$O!"\e(Bpgpool-II\e$B$r:F5/F0$9$k$3$H$J$/FI$_D>$9$3$H$,$G$-$^$9!#\e(B
1390 <pre>
1391 pgpool [-f config_file][-a hba_file][-F pcp_config_file] reload
1392 </pre>
1393 </p>
1394 <p>
1395 <table>
1396 <tr><td>-f config_file</td><td>pgpool-II\e$B$N@_Dj%U%!%$%k$r;XDj$7$^$9\e(B</tr>
1397 <tr><td>-a hba_file</td><td>HBA\e$BG'>Z@_Dj%U%!%$%k$r;XDj$7$^$9\e(B</tr>
1398 <tr><td>-F pcp_config_file</td><td>pcp\e$B$N@_Dj%U%!%$%k$r;XDj$7$^$9\e(B</tr>
1399 </table>
1400 </p>
1401 <p>
1402 \e$B@_Dj9`L\$K$h$C$F$O!":FFI$_9~$_$r9T$J$C$F$bH?1G$5$l$J$$$b$N$,$"$k$N$G!"$4Cm0U2<$5$$!#\e(B
1403 \e$B$^$?!"@_Dj$NJQ99$O$9$G$K@\B3Cf$N%;%C%7%g%s$K$OH?1G$5$l$^$;$s!#<!2s!"%/%i%$%"%s%H$,\e(Bpgpool-II\e$B$K@\B3$7$?$H$-$+$iH?1G$5$l$^$9!#\e(B
1404 </p>
1405
1406 <h1><a name="online-recovery"></a>\e$B%*%s%i%$%s%j%+%P%j\e(B</h1>
1407 <h2> \e$B%*%s%i%$%s%j%+%P%j35MW\e(B</h2>
1408 <p>
1409    \e$B%l%W%j%1!<%7%g%s%b!<%I$G\e(B pgpool \e$B$,F0:n$7$F$$$k>l9g!"%@%&%s$7$?%N!<\e(B
1410    \e$B%I$N%G!<%?$r:FF14|$5$;$?>e$G!"%N!<%I$rI|5"$5$;$k$3$H$,$G$-$^$9!#$3\e(B
1411    \e$B$N5!G=$r!V%*%s%i%$%s%j%+%P%j!W$H8F$S$^$9!#\e(B
1412 </p>
1413
1414 <p>
1415    \e$B%*%s%i%$%s%j%+%P%j$r<B;\$9$k$?$a$K$O!"%N!<%I$,@Z$jN%$5$l$F$$$k$H\e(B
1416    pgpool \e$B$,8!CN$7$F$$$kI,MW$,$"$j$^$9!#%N!<%I$rF0E*$KDI2C$7$?$$>l9g$K\e(B
1417    \e$B$O\e(B pgpool.conf \e$B$N\e(B backend_hostname\e$B$J$I$N%Q%i%a!<%?$rDI2C$7$F$*$-!"@_Dj%U%!%$%k\e(B
1418    \e$B$r:FFI$_9~$_$5$;$k$H!"%N!<%I$,@Z$jN%$5$l$?>uBV$G\e(B pgpool \e$B$K%N!<%I>pJs$,EPO?$5$l$^$9!#\e(B
1419 </p>
1420
1421 <p>
1422    \e$B$^$?!"%j%+%P%j$9$k%N!<%I$N\e(B PostgreSQL \e$B$,$9$G$KF0:nCf$G$"$l$P!"$"$i\e(B
1423    \e$B$+$8$a\e(B PostgreSQL \e$B$r%7%c%C%H%@%&%s$5$;$F$*$$$F$/$@$5$$!#\e(B
1424 </p>
1425
1426 <p>
1427 <font color="red">\e$BCm0U\e(B: \e$B%*%s%i%$%s%j%+%P%j$r<B9T$9$kA0$K!"%^%9%?%N!<%I\e(B
1428 (\e$B2TF/Cf$N%N!<%I$N$&$A!"0lHVHV9f$,<c$$%N!<%I\e(B)\e$B>e$G$N\e(Bautovacuum\e$B$rDd;_$7$F$/$@$5$$!#\e(B
1429 \e$B%*%s%i%$%s%j%+%P%jCf$K\e(Bautovacuum\e$B$,F0$/$H!"%G!<%?%Y!<%9$NFbMF$,JQ2=$9$k2DG=@-$,$"$k$?$a!"\e(B
1430 \e$B%N!<%I4V$NF14|$,$-$A$s$H<h$l$J$/$J$k2DG=@-$,$"$j$^$9!#\e(B</font>
1431 </p>
1432
1433 <p>
1434    pgpool \e$B$G$O%*%s%i%$%s%j%+%P%j$r\e(B 2 \e$BCJ3,$KJ,$1$F<B;\$7$^$9!#\e(Bpgpool \e$B$N\e(B
1435    \e$B%/%i%$%"%s%H$+$i$O40A4$J%G!<%?$NF14|$r<h$k$?$a$K<c43$N@\B3BT$A$,H/\e(B
1436    \e$B@8$7$^$9!#%j%+%P%j<j=g$G0J2<$NDL$j$G$9!#\e(B
1437
1438   <ol>
1439     <li> CHECKPOINT \e$B<B9T\e(B
1440     <li> \e$B%U%!!<%9%H%9%F!<%8$N<B;\\e(B
1441     <li> \e$B@\B3$,$9$Y$F@ZCG$5$l$k$^$GBT5!\e(B
1442     <li> CHECKPOINT \e$B<B9T\e(B
1443     <li> \e$B%;%+%s%I%9%F!<%8$N<B;\\e(B
1444     <li> postmaster \e$B$N5/F0\e(B(pgpool_remote_start \e$B$N<B9T\e(B)
1445     <li> \e$B%N!<%I$NI|5"\e(B
1446   </ol>
1447 </p>
1448
1449 <p>
1450    \e$B%G!<%?F14|$NBh0lCJ3,$r!V%U%!!<%9%H%9%F!<%8!W$H8F$S$^$9!#%U%!!<%9%H\e(B
1451    \e$B%9%F!<%8Cf$K\e(B1 \e$B2sL\$N%G!<%?F14|$r9T$$$^$9!#%U%!!<%9%H%9%F!<%8Cf$O%G!<\e(B
1452    \e$B%?$N99?7$d;2>H$rJB9T$7$F9T$&$3$H$,$G$-$^$9!#\e(B
1453 </p>
1454
1455 <p>
1456    \e$B%U%!!<%9%H%9%F!<%8$G=hM}$9$kFbMF$O%f!<%6$,Dj5A$9$k$3$H$,$G$-$^$9!#\e(B
1457    \e$B%9%/%j%W%H$G$O\e(B 3 \e$B$D$N0z?t$r<u$1<h$k$3$H$,$G$-$^$9!#\e(B
1458
1459   <ol>
1460     <li> \e$B%^%9%?$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B
1461     <li> \e$B%j%+%P%j%N!<%I$N%[%9%HL>\e(B
1462     <li> \e$B%j%+%P%j%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B
1463   </ol>
1464 </p>
1465
1466 <p>
1467    \e$B<!$K\e(B 2 \e$B2sL\$N%G!<%?F14|$r9T$$$^$9!#$3$l$r!V%;%+%s%I%9%F!<%8!W$H8F$S\e(B
1468    \e$B$^$9!#\e(Bpgpool \e$B$G$O%;%+%s%I%9%F!<%8$KF~$kA0$K@\B3Cf$N%/%i%$%"%s%H$,$9\e(B
1469    \e$B$Y$F@\B3$,=*N;$5$l$k$^$GBT$A$^$9!#$=$N4V$K@\B3%j%/%(%9%H$,Mh$?>l9g\e(B
1470    \e$B$K$O!"$=$N@\B3$r$9$Y$F%V%m%C%/$7$^$9!#\e(B
1471 </p>
1472
1473 <p>
1474    \e$B%;%+%s%I%9%F!<%8$G=hM}$9$kFbMF$O%f!<%6$,Dj5A$9$k$3$H$,$G$-$^$9!#\e(B
1475    \e$B%9%/%j%W%H$G$O\e(B 3 \e$B$D$N0z?t$r<u$1<h$k$3$H$,$G$-$^$9!#\e(B
1476 </p>
1477   <ol>
1478     <li> \e$B%^%9%?$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B
1479     <li> \e$B%j%+%P%j%N!<%I$N%[%9%HL>\e(B
1480     <li> \e$B%j%+%P%j%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B
1481   </ol>
1482 <p>
1483    \e$B$9$Y$F$N@\B3$,=*N;$5$l$k$H!"%U%!!<%9%H%9%F!<%80J9_$K99?7$5$l$?%G!<\e(B
1484    \e$B%?$rF14|$9$k$?$a$N%;%+%s%I%9%F!<%8$,3+;O$5$l$^$9!#$=$3$G:G=*E*$J%G!<\e(B
1485    \e$B%?$NF14|$r9T$$$^$9!#$3$N4V$O%/%i%$%"%s%H$+$i$O\e(B pgpool \e$B$X$N@\B3$,BT\e(B
1486    \e$B$?$5$l$k>uBV$K$J$j$^$9!#\e(B
1487 </p>
1488
1489 <p>
1490 <font color="red">
1491    \e$B$J$*!"%*%s%i%$%s%j%+%P%j$N@)8B;v9`$H$7$F!"J#?t$N%[%9%H$K\e(B pgpool \e$B$r\e(B
1492    \e$BG[CV$7$F%l%W%j%1!<%7%g%s$5$;$F$$$k>l9g$K$O!"%*%s%i%$%s%j%+%P%j$O@5\e(B
1493    \e$B$7$/F0:n$7$^$;$s!#$I$l$+$N\e(B pgpool \e$B$K%j%+%P%j%j%/%(%9%H$r=P$7$?;~$K!"\e(B
1494    \e$BB>$N\e(B pgpool \e$B$+$i99?7$,EAHB$9$k$H!"%G!<%?$rF14|$5$;$k$3$H$,$G$-$J$/\e(B
1495    \e$B$J$j$^$9!#\e(B
1496 </font>
1497 </p>
1498
1499 <h2> pgpool \e$B$N@_Dj\e(B</h2>
1500 <p>
1501    \e$B%*%s%i%$%s%j%+%P%j$r@_Dj$9$k$?$a$K$O!"\e(Bpgpool.conf \e$B$N0J2<$NCM$r@_Dj\e(B
1502    \e$B$7$F$/$@$5$$!#\e(B
1503
1504    <ul>
1505     <li> backend_data_directory
1506     <li> recovery_user
1507     <li> recovery_password
1508     <li> recovery_1st_stage_command
1509     <li> recovery_2nd_stage_command
1510    </ul>
1511 </p>
1512
1513
1514 <h2> C \e$B8@8l4X?t$N%$%s%9%H!<%k\e(B</h2>
1515 <p>
1516 \e$B<!$K!"%j%+%P%j$r<B;\$9$k$?$a$N\e(B PostgreSQL \e$B$N\e(B C \e$B8@8l4X?t$r3F%N!<%I$N\e(B
1517 template1 \e$B%G!<%?%Y!<%9$K%$%s%9%H!<%k$7$^$9!#%=!<%9%3!<%I$O\e(B
1518 </p>
1519
1520 <pre>
1521   pgpool-II-x.x.x/sql/pgpool-recovery/
1522 </pre>
1523
1524 <p>
1525 \e$B$K$"$j$^$9!#%G%#%l%/%H%j$r0\F0$7!"\e(Bmake install \e$B$7$F$/$@$5$$!#\e(B
1526 </p>
1527
1528 <pre>
1529   % cd pgpool-II-x.x.x/sql/pgpool-recovery/
1530   % make install
1531 </pre>
1532
1533 <p>
1534\e$B8@8l4X?t$N%b%8%e!<%k$r%$%s%9%H!<%k$7$?$i!"B3$$$F\e(B C \e$B8@8l4X?t$r8F$S$@\e(B
1535 \e$B$9$?$a$N\e(B SQL \e$B$r%$%s%9%H!<%k$7$^$9!#\e(B
1536 </p>
1537
1538 <pre>
1539   % cd pgpool-II-x.x.x/sql/pgpool-recovery/
1540   % psql -f pgpool-recovery.sql template1
1541 </pre>
1542
1543
1544 <h2> \e$B%j%+%P%j%9%/%j%W%H$NG[CV\e(B</h2>
1545 <p>
1546 \e$B%G!<%?$rF14|$5$;$k$?$a$N%9%/%j%W%H$H!"%j%b!<%H$+$i\e(B postmaster \e$B$r:F5/F0\e(B
1547 \e$B$5$;$k$?$a$N%9%/%j%W%H$r3F%N!<%I$N\e(B $PGDATA \e$B0J2<$KG[CV$7$^$9!#$"$i$+$8\e(B
1548 \e$B$a\e(Bpgpool-II-x.x.x/sample \e$B0J2<$K%5%s%W%k%9%/%j%W%H$bMQ0U$7$F$"$j$^$9$N\e(B
1549 \e$B$G;29M$K$7$F$/$@$5$$!#$3$3$G$O%5%s%W%k%9%/%j%W%H$r;H$C$F!"\e(BPITR \e$B$K$h$k\e(B
1550 \e$B%j%+%P%jJ}K!$H!"\e(Brsync \e$B$K$h$k%j%+%P%jJ}K!$r@bL@$7$^$9!#\e(B
1551 </p>
1552
1553 <h3>PITR \e$B$K$h$k%j%+%P%j\e(B</h3>
1554 <p>
1555 \e$B$3$3$G$O\e(B PostgreSQL \e$B$N\e(B PITR \e$B5!G=$r;H$C$F%j%+%P%j$r$9$k@_DjNc$r@bL@$7$^\e(B
1556 \e$B$9!#\e(BPITR \e$B$K$h$k%j%+%P%j$r$9$k>l9g$K$O$"$i$+$8$a\e(B PostgreSQL \e$B$N@_Dj$G%m\e(B
1557 \e$B%0$r%"!<%+%$%V$5$;$k$h$&$K$7$F$*$$$F$/$@$5$$!#\e(B
1558 </p>
1559
1560 <p>
1561 \e$B$^$:%U%!!<%9%H%9%F!<%8$G%Y!<%9%P%C%/%"%C%W$r<hF@$7!"%j%+%P%j@h$X%3%T!<\e(B
1562 \e$B$9$k%9%/%j%W%H\e(B(\e$B$3$3$G$O%U%!%$%kL>$r\e(B copy-base-backup \e$B$H$7$^$9\e(B)\e$B$rMQ0U$7\e(B
1563 \e$B$^$9!#Nc$($P0J2<$N$h$&$J%9%/%j%W%H$G<hF@$9$k$3$H$,$G$-$^$9!#\e(B
1564 </p>
1565
1566 <pre>
1567   #! /bin/sh
1568
1569   DATA=$1
1570   RECOVERY_TARGET=$2
1571   RECOVERY_DATA=$3
1572
1573   psql -c "select pg_start_backup('pgpool-recovery')" postgres
1574   echo "restore_command = 'scp $HOSTNAME:/data/archive_log/%f %p'" > /data/recovery.conf
1575   tar -C /data -zcf pgsql.tar.gz pgsql
1576   psql -c 'select pg_stop_backup()' postgres
1577   scp pgsql.tar.gz $RECOVERY_TARGET:$RECOVERY_DATA
1578 </pre>
1579
1580 <p>
1581 \e$B%Y!<%9%P%C%/%"%C%W<hF@;~$K\e(B recovery.conf \e$B$r@8@.$7$F$*$-$^$9!#\e(B
1582 </p>
1583 <pre>
1584 restore_command = 'scp master:/data/archive_log/%f %p'
1585 </pre>
1586
1587 </p>
1588
1589 <p>
1590 \e$B%;%+%s%I%9%F!<%8$G$O:G?7$N>uBV$^$G\e(B PITR \e$B$K$h$k%j%+%P%j$r<B;\$G$-$k$h$&\e(B
1591 \e$B$K$9$k$?$a$K!"\e(Bpgpool_recovery_pitr \e$B%9%/%j%W%H$r\e(B$PGDATA \e$B$K%3%T!<$7$^$9!#\e(B
1592 \e$B$3$N%9%/%j%W%H$G$O\e(B XLOG \e$B$r6/@)E*$K%9%$%C%A$5$;$k$h$&$K$7$^$9!#\e(B
1593 </p>
1594
1595 <pre>
1596   #! /bin/sh
1597   psql -c 'select pg_switch_xlog()' postgres
1598 </pre>
1599
1600 <p>
1601 \e$B%9%/%j%W%H$NG[CV$,40N;$7$?$i\e(B pgpool.conf \e$B$K@_Dj$7$^$9!#\e(B
1602
1603 <pre>
1604 recovery_1st_stage_command = 'copy-base-backup'
1605 recovery_2nd_stage_command = 'pgpool_recovery_pitr'
1606 </pre>
1607
1608 </p>
1609
1610 <p>
1611 \e$B$3$l$G\e(B PITR \e$B$K$h$k%*%s%i%$%s%j%+%P%j$N=`Hw$,40N;$G$9!#\e(B
1612 </p>
1613
1614 <h4><p>pgpool_remote_start</p></h4>
1615 <p>
1616 \e$B%G!<%?:FF14|8e$K\e(B postmaster \e$B$r5/F0$5$;$k%9%/%j%W%H$G$9!#\e(B
1617 pgpool \e$B$+$i$O0J2<$N7A<0$G%9%/%j%W%H$r<B9T$7$^$9!#\e(B
1618 </p>
1619
1620 <pre>
1621   % pgpool_remote_start remote_host remote_datadir
1622   remote_host:    \e$B%j%+%P%j%N!<%I$N%[%9%HL>\e(B
1623   remote_datadir: \e$B%j%+%P%j%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B 
1624 </pre>
1625
1626 <p>
1627 \e$B%5%s%W%k%9%/%j%W%H$G$O\e(B ssh \e$B7PM3$G\e(B postmaster \e$B$r5/F0$7$F$$$^$9!#$3$A$i\e(B
1628 \e$B$b$"$i$+$8$a%Q%9%U%l!<%:L5$7$G\e(B ssh \e$B7PM3$G%m%0%$%s$G$-$k$h$&$K@_Dj$7$F\e(B
1629 \e$B$*$/I,MW$,$"$j$^$9!#\e(B
1630 </p>
1631
1632 <p>
1633 PITR \e$B$K$h$k%j%+%P%j$G$"$l$P!"\e(Bpgpool_remote_start \e$BFb$G%Y!<%9%P%C%/%"%C\e(B
1634 \e$B%W$rE83+$7!"\e(Brecovery.conf \e$B$NFbMF$K$7$?$,$C$F%j%+%P%j$7$?8e$K\e(B
1635 postmaster \e$B$,@\B32DG=>uBV$K$J$j$^$9!#\e(B
1636 </p>
1637
1638 <pre>
1639 #! /bin/sh
1640 DEST=$1
1641 DESTDIR=$2
1642 PGCTL=/usr/local/pgsql/bin/pg_ctl
1643
1644 # Expand a base backup
1645 ssh -T $DEST 'cd /data/; tar zxf pgsql.tar.gz' 2>/dev/null 1>/dev/null < /dev/null
1646 # Startup PostgreSQL server
1647 ssh -T $DEST $PGCTL -w -D $DESTDIR start 2>/dev/null 1>/dev/null < /dev/null &
1648 </pre>
1649
1650 <h3>rsync \e$B$K$h$k%j%+%P%j\e(B </h3>
1651 <p>
1652 7.4 \e$B0JA0$N>l9g$O\e(B PITR \e$B5!G=$,$"$j$^$;$s!#$=$3$G\e(B PITR \e$B$r;H$o$:$K\e(B rsync
1653 \e$B$r;H$C$?%j%+%P%jJ}K!$r@bL@$7$^$9!#\e(Bsample \e$B%G%#%l%/%H%j$K\e(B
1654 pgpool_recovery \e$B$H$$$&%U%!%$%k$,$"$j$^$9!#%^%9%?$+$iI|5"$5$;$k%N!<%I$X\e(B
1655 \e$B$N%G!<%?$NJ*M}%3%T!<$r9T$&%9%/%j%W%H$G$9!#\e(Bpgpool \e$B$+$i$O0J2<$N7A<0$G%9\e(B
1656 \e$B%/%j%W%H$r<B9T$7$^$9!#\e(B
1657 </p>
1658
1659 <pre>
1660   % pgpool_recovery datadir remote_host remote_datadir
1661   datadir:        \e$B%^%9%?$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B
1662   remote_host:    \e$B%j%+%P%j%N!<%I$N%[%9%HL>\e(B
1663   remote_datadir: \e$B%j%+%P%j%N!<%I$N%G!<%?%Y!<%9%/%i%9%?%Q%9\e(B 
1664 </pre>
1665
1666 <p>
1667 \e$B%5%s%W%k%9%/%j%W%H$G$O\e(B rsync \e$B$r;H$C$FJ*M}%3%T!<$r$7$F$$$^$9!#$b$7\e(B
1668 rsync \e$B$r;H$&>l9g$O!"%Q%9%U%l!<%:L5$7$G\e(B ssh \e$B7PM3$G%m%0%$%s$G$-$k$h$&$K\e(B
1669 \e$B$"$i$+$8$a@_Dj$7$F$*$/I,MW$,$"$j$^$9!#\e(B
1670 </p>
1671
1672 <p>
1673 rsync\e$B$K4X$9$kCm5-\e(B:
1674 <ul>
1675
1676  <li>-z (or --compress)\e$B%*%W%7%g%s$ODcB.$J%M%C%H%o!<%/$G$O8z2L$,$"$j$^$9$,!"\e(B
1677           100M\e$B0J>e$N9bB.$J%M%C%H%o!<%/$G$O$+$($C$F\e(BCPU\e$BIi2Y$rA}$d$7!"7k2LE*$KCY$/$J$k$3$H$,$"$j$^$9!#\e(B
1678           \e$B9bB.%M%C%H%o!<%/$G$O!"$3$N%*%W%7%g%s$r;HMQ$7$J$$$3$H$r$*4+$a$7$^$9!#\e(B
1679
1680  <li>rsync \e$B$N?7$7$$%P!<%8%g%s\e(B(3.0.5)\e$B$G$O!"\e(B50%\e$B$b@-G=$,NI$/$J$C$?$H$$$&Js9p$,\e(B
1681           pgpool-general\e$B%a!<%j%s%0%j%9%H$G$"$j$^$7$?!#\e(B
1682 </ul>
1683 </p>
1684
1685 <p>
1686 pgpool_recovery \e$B$r;H$&>l9g$O\e(B pgpool.conf \e$B$K0J2<$N9T$rDI2C$7$F$/$@$5$$!#\e(B
1687
1688 <pre>
1689 recovery_1st_stage_command = 'pgpool_recovery'
1690 recovery_2nd_stage_command = 'pgpool_recovery'
1691 </pre>
1692 </p>
1693
1694 <h2>\e$B%j%+%P%j$N<B9T\e(B</h2>
1695 <p>
1696 \e$B0J>e$G%*%s%i%$%s%j%+%P%j$N=`Hw$,@0$$$^$7$?!#\e(B
1697 \e$B%*%s%i%$%s%j%+%P%j$r<B9T$9$k$K$O\e(B pcp_recovery_node \e$B%3%^%s%I$r;H$&$+!"\e(B
1698 pgpool \e$B4IM}%D!<%k$+$i<B9T$7$F$/$@$5$$!#\e(B
1699 </p>
1700
1701 <p>
1702 \e$BCm0UE@$H$7$F!"\e(Bpcp_recovery_node \e$B$r<B9T$9$k:]$K!"%?%$%`%"%&%H$rD9$/$7$F\e(B
1703 \e$B$/$@$5$$!#\e(BpgpoolAdmin \e$B$+$i<B9T$9$k>l9g$O\e(B pgmgt.conf.php \e$BFb$N\e(B
1704 _PGPOOL2_PCP_TIMEOUT \e$B$rBg$-$/$7$F$/$@$5$$!#\e(B
1705 </p>
1706
1707
1708 <h1>\e$B@)8B;v9`\e(B<a name="restriction"></a></h1>
1709 <p>
1710 <h2>\e$BG'>Z!&%"%/%;%9@)8fJ}<0\e(B</h2>
1711 <p>
1712 <ul>
1713 <li>\e$B%l%W%j%1!<%7%g%s%b!<%I$^$?%^%9%?\e(B/\e$B%9%l!<%V%b!<%I;~$K$O\e(Btrust, reject, clear
1714      text password, pam, \e$BG'>ZJ}<0$@$1$,MxMQ$G$-$^$9!#\e(Bmd5\e$BG'>Z!"\e(Bcrypt\e$BG'>Z$J$I$NG'>ZJ}<0$OMxMQ$G$-$^$;$s!#\e(B
1715 <li>\e$B$=$l0J30$N%b!<%I$G$O!"\e(Btrust, reject, clear text password, pam, crypt, md5\e$BG'>ZJ}<0$@$1$,MxMQ$G$-$^$9!#\e(B
1716 </ul>
1717 </p>
1718
1719 <h2>\e$B%l%W%j%1!<%7%g%s%b!<%I$GCm0U$,I,MW$J4X?t$J$I\e(B</h2>
1720 <p>
1721 pgpool-II\e$B$G$OF1$8Ld$$9g$o$;$rAw$C$F$b0[$J$k7k\e(B
1722    \e$B2L$rJV$9$h$&$J%G!<%?!"$?$H$($PMp?t$d%H%i%s%6%/%7%g%s\e(BID\e$B!"\e(BOID\e$B!"\e(BSERIAL\e$B!"\e(B
1723    \e$B%7!<%1%s%9!"\e(BCURRENT_TIMETSTAMP\e$B$N$h$&$J$b$N$K4X$7$F$O%l%W%j%1!<%7%g\e(B
1724    \e$B%s$O$7$^$9$,!"\e(B2\e$BBf$N%[%9%H$G$^$C$?$/F1$8CM$,%3%T!<$5$l$kJ]>Z$O$"$j$^\e(B
1725    \e$B$;$s!#\e(B
1726 </p>
1727 <p>
1728 CREATE TEMP TABLE\e$B$G:n@.$5$l$?%F!<%V%k$O%U%m%s%H%(%s%I$,%;%C%7%g\e(B
1729          \e$B%s$r=*N;$7$F$b:o=|$5$l$^$;$s!#$3$l$O!"%3%M%/%7%g%s%W!<%k$N8z\e(B
1730          \e$B2L$G%P%C%/%(%s%I$+$i8+$k$H%;%C%7%g%s$,7QB3$7$F$$$k$h$&$K8+$(\e(B
1731          \e$B$k$+$i$G$9!#%;%C%7%g%s$N=*N;;~$KL@<(E*$K\e(BDROP TABLE\e$B$9$k$+!"%H\e(B
1732          \e$B%i%s%6%/%7%g%s%V%m%C%/$NCf$G\e(BCREATE TEMP TABLE ... ON COMMIT
1733          DROP\e$B$r$*;H$$2<$5$$!#\e(B
1734 </p>
1735
1736 <h2>\e$B%/%(%j$K$D$$$F\e(B</h2>
1737 <p>
1738 pgpool-II \e$B$G$O07$&$3$H$,$G$-$J$$%/%(%j$K$D$$$F@bL@$7$^$9!#\e(B
1739 </p>
1740
1741 <h3>\e$B%^%k%A%P%$%HJ8;z$K$D$$$F\e(B</h3>
1742 <p>
1743 \e$B@)8BBP>]\e(B:\e$BA4%b!<%I\e(B
1744 </p>
1745 <p>
1746 \e$B8=:_$N<BAu$G$O!"%^%k%A%P%$%HJ8;z$NJQ49=hM}$r9T$$$^$;$s!#%/%i%$%"%s%H%(\e(B
1747 \e$B%s%3!<%G%#%s%0!"%P%C%/%(%s%I%N!<%I$N%5!<%P%(%s%3!<%G%#%s%0!"%7%9%F%`\e(B
1748 DB \e$B$N%5!<%P%(%s%3!<%G%#%s%0$r0lCW$5$;$k$h$&$K$7$F$/$@$5$$!#\e(B
1749 </p>
1750
1751 <h3>\e$B%^%k%A%9%F!<%H%a%s%H\e(B</h3>
1752 <p>
1753 \e$B@)8BBP>]\e(B:\e$BA4%b!<%I\e(B
1754 </p>
1755 <p>
1756 \e$B%^%k%A%9%F!<%H%a%s%H\e(B(';' \e$B$G6h@Z$C$FJ#?t$NJ8$r$^$H$a$?\e(B SQL)\e$B$r\e(B pgpool \e$B$,\e(B
1757 \e$B@5$7$/=hM}$9$k$3$H$,$G$-$^$;$s!#I,$:J8$rJ,$1$FAw?.$7$F$/$@$5$$!#\e(B
1758 </p>
1759 <p>
1760 \e$B$J$*!"\e(Bpsql \e$B$r;H$C$F\e(B pgpool \e$B$K@\B3$7$?>l9g$O!"\e(Bpsql \e$BFbIt$G%^%k%A%9%F!<%H\e(B
1761 \e$B%a%s%H$rJ,2r$7!"\e(B1 \e$B$D$:$DAw?.$7$^$9!#\e(B
1762 </p>
1763
1764 <h3>\e$B3HD%Ld$$9g$o$;%W%m%H%3%k\e(B</h3>
1765 <p>
1766 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1767 </p>
1768 <p>
1769 JDBC \e$B%I%i%$%P$J$I$N$h$&$J3HD%Ld$$9g$o$;%W%m%H%3%k$K$OBP1~$7$F$$$^$;$s!#\e(B
1770 \e$BI,$:4J0WLd$$9g$o$;%W%m%H%3%k$r;HMQ$7$F$/$@$5$$!#\e(B
1771 </p>
1772
1773 <h3>SELECT</h3>
1774 <p>
1775 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1776 </p>
1777 <p>
1778 postgresql.conf \e$B$N\e(B add_missing_from\e$B@_DjCM$r\e(B off (\e$B%G%U%)%k%HCM\e(B)\e$B$K@_Dj$7$F$/$@$5$$!#\e(B
1779 add_missing_from \e$B@_DjCM$,\e(B on \e$B$N;~$K;H$($k%/%(%j$O@5$7$/\e(Bpgpool\e$B$G=hM}$5$l$J$$2DG=@-\e(B
1780 \e$B$,$"$j$^$9!#\e(B
1781 </p>
1782 <h3>INSERT</h3>
1783 <p>
1784 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1785 </p>
1786 <p>
1787 \e$B%G!<%?J,3d$r$7$F$$$k%F!<%V%k$KBP$7$F\e(BINSERT \e$B$r9T$&:]$K$O!"J,3d%k!<%k$H$J$kCM$r\e(B DEFAULT \e$B$K$O$G$-$^$;$s!#Nc$(\e(B
1788 \e$B$P%F!<%V%k\e(B t \e$B$K\e(B x \e$B$H$$$&%+%i%`$,$"$j!"\e(Bx \e$B$,J,3d%k!<%k$NBP>]%+%i%`$@$C$?\e(B
1789 \e$B>l9g$K$O!"\e(B
1790 </p>
1791 <pre>
1792   INSERT INTO t(x) VALUES (DEFAULT);
1793 </pre>
1794 <p>
1795 \e$B$O$G$-$^$;$s!#$^$?!"J,3d%k!<%k$H$J$kCM$,4X?t8F$S=P$7$N>l9g$b\e(B
1796 \e$BBP1~$7$F$$$^$;$s!#\e(B
1797 </p>
1798 <pre>
1799   INSERT INTO t(x) VALUES (func());
1800 </pre>
1801 <p>
1802 \e$BI,$:L@<(E*$KCM$rM?$($kI,MW$,$"$j$^$9!#\e(B
1803
1804 \e$B$^$?!"\e(BSELECT INTO \e$B$d\e(B INSERT INTO ... SELECT \e$B$H$$$&7A<0$b%5%]!<%H$7$F$$\e(B
1805 \e$B$^$;$s!#\e(B
1806 </p>
1807
1808 <h3>UPDATE</h3>
1809 <p>
1810 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1811 </p>
1812 <p>
1813 \e$BJ,3d%k!<%k$H$J$k%+%i%`$r99?7$9$k$HJ,3d%k!<%k$K=>$C$?%G!<%?$N@09g@-$,Jx\e(B
1814 \e$B$l$k2DG=@-$,$"$j$^$9!#\e(Bpgpool-II \e$B$G$OFC$K%G!<%?$N:FG[CV$H$$$&$3$H$O9T$$\e(B
1815 \e$B$^$;$s!#\e(B
1816 </p>
1817 <p>
1818 \e$B$b$7@)Ls0cH?$J$I$K$h$j0lIt$N%N!<%I$G%(%i!<$K$J$C$?>l9g$K%m!<%k%P%C%/$9\e(B
1819 \e$B$k$3$H$O$G$-$^$;$s!#\e(B
1820 </p>
1821 <p>
1822 WHERE \e$B6g$K%G!<%?J,3d$r9T$C$?%F!<%V%k$r;2>H$9$k%5%V%/%(%j$d4X?t8F$S=P$7$,$"$k>l9g$K$O@5$7$/F0$+$J$$2DG=@-$,\e(B
1823 \e$B$"$j$^$9!#\e(B
1824 </p>
1825 <pre>
1826 \e$BNc!'\e(BUPDATE branches set bid = 100 where bid = (select max(bid) from beances);
1827 </pre>
1828
1829 <h3>SELECT ... FOR UPDATE</h3>
1830 <p>
1831 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1832 </p>
1833 <p>
1834 WHERE \e$B6g$K%G!<%?J,3d$r9T$C$?%F!<%V%k$r;2>H$9$k%5%V%/%(%j$d4X?t8F$S=P$7$,$"$k>l9g$K$O@5$7$/F0$+$J$$2DG=@-$,\e(B
1835 \e$B$"$j$^$9!#\e(B
1836 <pre>
1837 \e$BNc!'\e(BSELECT * FROM  branches where bid = (select max(bid) from beances) FOR UPDATE;
1838 </pre>
1839 </p>
1840
1841 <h3>COPY</h3>
1842 <p>
1843 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1844 </p>
1845 <p>
1846 COPY BINARY \e$B$K$OBP1~$7$F$$$^$;$s!#$^$?!"%U%!%$%k$+$i$N%3%T!<$K$bBP1~$7\e(B
1847 \e$B$F$$$^$;$s!#\e(BCOPY FROM STDIN \e$B$H\e(B COPY TO STDOUT \e$B$N$_BP1~$7$F$$$^$9!#\e(B
1848 </p>
1849
1850 <h3>ALTER/CREATE TABLE \e$B$K$D$$$F\e(B</h3>
1851 <p>
1852 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1853 </p>
1854 <p>
1855 pgpool \e$B$K>pJs$r99?7$5$;$k$?$a$K$O!"\e(Bpgpool \e$B$r:F5/F0$9$kI,MW$,$"$j$^$9!#\e(B
1856 </p>
1857
1858 <h3>\e$B%H%i%s%6%/%7%g%s\e(B</h3>
1859 <p>
1860 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1861 </p>
1862 <p>
1863 \e$B%H%i%s%6%/%7%g%sCf$KH/9T$5$l$k\e(B SELECT \e$B$O\e(B dblink \e$B$r7PM3$9$k>l9g$K$OJL%H\e(B
1864 \e$B%i%s%6%/%7%g%s$K$J$j$^$9!#0J2<$KNc$r<($7$^$9!#\e(B
1865 </p>
1866 <pre>
1867   BEGIN;
1868   INSERT INTO t(a) VALUES (1);
1869   SELECT * FROM t ORDER BY a; <-- \e$B>e$N\e(B INSERT \e$B$7$?CM$O8+$($J$$\e(B
1870   END;
1871 </pre>
1872 <p>
1873 \e$B$^$?@)Ls0cH?$J$I$K$h$j0lIt$N%N!<%I$G%(%i!<$K$J$C$?>l9g$K%m!<%k%P%C%/$9$k$3$H$O$G$-$^$;$s!#\e(B
1874 </p>
1875 <h3>View/Rule</h3>
1876 <p>
1877 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1878 </p>
1879 <p>
1880 View \e$B$d\e(B Rule \e$B$O3F%N!<%I$KF1$8FbMF$,Dj5A$5$l$^$9!#\e(B
1881 </p>
1882 <pre>
1883   CREATE VIEW sample AS SELECT * FROM a, b where a.i = b.i
1884 </pre>
1885 <p>
1886 \e$B>e5-$N$h$&$J\e(B \e$B%F!<%V%k7k9g$r4^$s$@\e(BVIEW\e$B$O!"\e(Ba \e$B$H\e(B b \e$B$OF1$8%N!<%IFb$G$N$_7k9g=hM}$r9T$$!"\e(B
1887 \e$B3F%N!<%I$+$i$N<B9T7k2L$rE}9g$7$^$9!#%N!<%I$r$^$?$,$C$?\e(B JOIN \e$B$r9T$&\e(B View \e$B$r:n@.$9$k\e(B
1888 \e$B$3$H$O$G$-$^$;$s!#\e(BRule \e$B$K$D$$$F$bF1MM$K$J$j$^$9!#$?$@$7!"%G!<%?J,3d$7$?%F!<%V%k$rF1\e(B
1889 \e$B$8%N!<%IFb$G$N$_7k9g$7$?$$>l9g$K!"\e(BVIEW\e$B$r:n@.$9$k$3$H$O2DG=$G$9!#$3$N>l9g$K$O\e(BVIEW\e$B$r\e(B
1890 pgpool_catalog.dist_def\e$B%F!<%V%k$K\e(BVIEW\e$B$rEPO?$7$F$*$-$^$9!#\e(B
1891 \e$B$^$?!"\e(Bpgpool_catalog.dist_def\e$B%F!<%V%k$N\e(Bcol_name\e$B$H\e(Bdist_def_func\e$B$K$O!"\e(BVIEW\e$B$GDj5A$7$?\e(B
1892 \e$B%+%i%`$H\e(BVIEW\e$B$KBP$7$F\e(BINSERT\e$B$,H/9T$5$l$?>l9g$K2?=h$N%N!<%I$K%/%(%j$rLd$$9g$o$;$k$N$+$r7hDj\e(B
1893 \e$B$9$k4X?t$rEPO?$7$F$/$@$5$$!#\e(B
1894 </p>
1895
1896 <h3>\e$B4X?t\e(B/\e$B%H%j%,$K$D$$$F\e(B</h3>
1897 <p>
1898 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1899 </p>
1900 <p>
1901 \e$B4X?t$O3F%N!<%I$KF1$8FbMF$,Dj5A$5$l$^$9!#4X?tFb$G\e(B JOIN \e$B$dB>$N%N!<%I$N%G!<\e(B
1902 \e$B%?A`:n$r9T$&$3$H$O$G$-$^$;$s!#\e(B
1903 </p>
1904
1905 <h3>Natural Join \e$B$K$D$$$F\e(B</h3>
1906 <p>
1907 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1908 </p>
1909 <p>
1910 Natural Join\e$B$OMxMQ$G$-$^$;$s!#\e(BON \e$B7k9g>r7o!!$^$?$O!"\e(BUSING(\e$B7k9g%+%i%`\e(B)\e$B$rL@<(E*$K\e(B
1911 \e$B;XDj$9$kI,MW$,$"$j$^$9!#\e(B
1912 </p>
1913
1914 <h3>USING\e$B6g\e(B \e$B$K$D$$$F\e(B</h3>
1915 <p>
1916 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1917 </p>
1918 <p>
1919 JOIN\e$B!!9=J8$NCf$GMxMQ$5$l$k\e(B USING \e$B6g$O%/%(%j$N=q$-49$(=hM}$K$h$C$F\e(BON \e$B6g$K\e(B
1920 \e$BJQ49$5$l$^$9!#$=$N$?$a!"%?!<%2%C%H%j%9%H$K\e(B"*"\e$B$rMxMQ$9$kLd$$9g$o$;$r9T$&\e(B
1921 \e$B>l9g$K$O!"F1$8NsL>$,=PNO$5$l$^$9!#\e(B
1922 </p>
1923
1924 <h3>\e$B%G%C%I%m%C%/$K$D$$$F\e(B</h3>
1925 <p>
1926 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1927 </p>
1928 <p>
1929 \e$B%N!<%I4V$r$^$?$,$k%G%C%I%m%C%/$r8!=P$9$k$3$H$,$G$-$^$;$s!#\e(B
1930 </p>
1931 <pre>
1932 \e$BNc!'\e(Baccounts\e$B%F!<%V%k$O0J2<$N%k!<%k$GJ,3d$5$l$F$$$k!#\e(B
1933     aid <= 100000 \e$B%N!<%I\e(B 0
1934     aid >= 100000 \e$B%N!<%I\e(B 1
1935
1936   A) BEGIN;
1937   B) BEGIN;
1938   A) SELECT * FROM accounts WHERE aid = 100001 FOR UPDATE;
1939   B) SELECT * FROM accounts WHERE aid = 100000 FOR UPDATE;
1940   A) SELECT * FROM accounts WHERE aid = 100000 FOR UPDATE;
1941   B) SELECT * FROM accounts WHERE aid = 100001 FOR UPDATE;
1942 </pre>
1943 <p>
1944 \e$B$3$N>l9g!"C10l$N%N!<%I$G$O%G%C%I%m%C%/$r8!CN$G$-$J$$$?$a!"\e(Bpgpool \e$B$OBT\e(B
1945 \e$B$?$5$l$?>uBV$K$J$j$^$9!#$3$N8=>]$O\e(B SELECT FOR UPDATE \e$B0J30$K$b9T%m%C%/\e(B
1946 \e$B$r3MF@$9$k%/%(%j$GH/@8$9$k2DG=@-$,$"$j$^$9!#\e(B
1947 </p>
1948 <p>
1949 \e$B$^$?!"$"$k%N!<%I$G%G%C%I%m%C%/$,H/@8$7$?>l9g$O!"3F%N!<%I$N%H%i%s%6%/%7%g\e(B
1950 \e$B%s$N>uBV$,0[$J$k>u67$K$J$j$^$9!#$=$N$?$a!"%G%C%I%m%C%/$r8!CN$7$?;~E@$G\e(B
1951 \e$B0J2<$N%m%0$r=PNO$7$F\e(B pgpool \e$B$O3:Ev$N%W%m%;%9$r=*N;$5$;$^$9!#\e(B
1952 <pre>
1953   pool_read_kind: kind does not match between master(84) slot[1] (69)
1954 </pre>
1955
1956 <h3>\e$B%9%-!<%^$K$D$$$F\e(B</h3>
1957 <p>
1958 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1959 </p>
1960 <p>
1961 public \e$B0J30$N%9%-!<%^$KB0$9$h$&$J%*%V%8%'%/%H$N;2>H$OI,$:\e(B
1962 </p>
1963 <pre>
1964   \e$B%9%-!<%^\e(B.\e$B%*%V%8%'%/%H\e(B
1965 </pre>
1966 <p>
1967 \e$B$H;XDj$9$k$h$&$K$7$F$/$@$5$$!#\e(B
1968 </p>
1969 <pre>
1970   set search_path = xxx
1971 </pre>
1972 <p>
1973 \e$B$r;XDj$7!"%9%-!<%^L>$r>JN,$9$k$H!"\e(Bpgpool \e$B$,$I$NJ,;6%k!<%k$rE,MQ$9$k$+\e(B
1974 \e$BH=CG$G$-$^$;$s!#\e(B
1975 </p>
1976 <h3>\e$B%F!<%V%kL>!"%+%i%`L>$K$D$$$F\e(B</h3>
1977 <p>
1978 \e$B@)8BBP>]\e(B:\e$B%Q%i%l%k%b!<%I\e(B
1979 </p>
1980 <p>
1981 pool_\e$B$G;O$^$k%F!<%V%k!"%+%i%`L>$O;H$($^$;$s!#%/%(%j=q$-49$($N:]$KFbIt=hM}$G;HMQ$7$^$9!#\e(B
1982 </p>
1983
1984 <h2>\e$B%7%9%F%`\e(B DB</h2>
1985
1986 <h3>\e$BJ,3d%k!<%k\e(B</h3>
1987 <p>
1988 pgpool-II \e$B$G$OJ,3d%k!<%k$NBP>]$N%+%i%`$O\e(B 1 \e$B$D$N$_$H$7$^$9!#\e(Bx \e$B$H\e(B y \e$B$N\e(B
1989 OR \e$B>r7o$J$I$H$$$C$?$b$N$K$OBP1~$7$F$$$^$;$s!#\e(B
1990 </p>
1991
1992 <h2>\e$B%S%k%I$KI,MW$J4D6-\e(B</h2>
1993
1994 <h3>libpq</h3>
1995 <p>
1996 pgpool-II \e$B$G$O\e(B libpq \e$B$r%j%s%/$7$^$9!#\e(Blibpq \e$B$N%P!<%8%g%s$O\e(B 2.0 \e$B$N>l9g!"\e(B
1997 configure \e$B$K<:GT$7$^$9!#I,$:\e(B libpq 3.0 (PostgreSQL 7.4) \e$B$r%j%s%/$9$k$h\e(B
1998 \e$B$&$K$7$F$/$@$5$$!#$^$?!"\e(BSystemDB \e$B$N%P!<%8%g%s$b\e(B PostgreSQL 7.4 \e$B0J9_$,\e(B
1999 \e$BI,?\$K$J$j$^$9!#\e(B
2000 </p>
2001
2002 <h2>\e$B%/%(%j%-%c%C%7%e\e(B</h2>
2003 <p>
2004 \e$B8=:_$N%/%(%j%-%c%C%7%e$N<BAu$G$O!"%-%c%C%7%e$NL58z2=$r<jF0$G9T$&I,MW$,\e(B
2005 \e$B$"$j$^$9!#\e(B
2006 </p>
2007
2008 </p>
2009
2010 <h1>\e$B%j%U%!%l%s%9\e(B<a name="reference"></a></h1>
2011 <h2>PCP\e$B%3%^%s%I%j%U%!%l%s%9\e(B</h2>
2012
2013 <h3>PCP\e$B%3%^%s%I0lMw\e(B</h3>
2014 <p>
2015    pgpool-II\e$B$rA`:n$9$k\e(BUNIX\e$B%3%^%s%I$H$7$F!"0J2<$N$b$N$,$"$j$^$9!#\e(B
2016 <pre>
2017    * pcp_node_count     - \e$B%N!<%I?t$r<hF@$9$k\e(B
2018    * pcp_node_info      - \e$B%N!<%I>pJs$r<hF@$9$k\e(B
2019    * pcp_proc_count     - \e$B%W%m%;%90lMw$r<hF@$9$k\e(B
2020    * pcp_proc_info      - \e$B%W%m%;%9>pJs$r<hF@$9$k\e(B
2021    * pcp_systemdb_info  - \e$B%7%9%F%`\e(BDB\e$B>pJs$r<hF@$9$k\e(B
2022    * pcp_detach_node    - \e$B%N!<%I$r@Z$jN%$9\e(B
2023    * pcp_attach_node    - \e$B%N!<%I$rI|5"$5$;$k\e(B
2024    * pcp_stop_pgpool    - pgpool-II\e$B$rDd;_$5$;$k\e(B
2025    * pcp_recovery_node  - \e$B%^%9%?%N!<%I$r;H$C$F%N!<%I$N%G!<%?$r:FF14|!"%N!<%I5/F0$5$;$k\e(B
2026 </pre>
2027 </p>
2028
2029
2030 <h2>\e$B6&DL0z?t\e(B</h2>
2031 <p>
2032    \e$BA4$F$N%3%^%s%I$K$O6&DL$9$k0z?t$,$"$j$^$9!#$3$l$O@\B3$9$k\e(Bpgpool-II\e$B$N>pJs$dG'>Z\e(B
2033    \e$B>pJs$J$I$G$9!#\e(B
2034 <pre>
2035    ex)
2036    $ pcp_node_count [-d] 10 localhost 9898 postgres hogehoge
2037
2038     \e$BBh0l0z?t\e(B    - \e$B%?%$%`%"%&%HCM\e(B
2039                 \e$BIC?t$G%?%$%`%"%&%HCM$r;XDj$7$^$9!#$3$N;~4VFb$K\e(Bpgpool-II\e$B$+$i1~\e(B
2040                 \e$BEz$,$J$$>l9g$O%3%M%/%7%g%s$r@ZCG$7$F=*N;$7$^$9!#$J$*!"\e(B
2041                 \e$B$3$N%*%W%7%g%s$O\e(B 2.1 \e$B$+$i$OL5;k$9$k$h$&$K$J$C$F$$$^$9!#\e(B
2042     \e$BBhFs0z?t\e(B      - pgpool-II\e$B$,2TF0$7$F$$$k%[%9%HL>\e(B
2043     \e$BBh;00z?t\e(B      - pgpool-II\e$B$,<u$1IU$1$F$$$k%]!<%HHV9f\e(B
2044     \e$BBh;M0z?t\e(B      - PCP\e$B%f!<%6L>\e(B
2045     \e$BBh8^0z?t\e(B      - PCP\e$B%Q%9%o!<%I\e(B
2046
2047         \e$B%*%W%7%g%s0z?t$H$7$F!"\e(B-d\e$B$,$"$j$^$9!#\e(B-d\e$B$,;XDj$5$l$k$H%G%P%C%0>pJs$r=PNO$7$^$9!#\e(B
2048 </pre>
2049 <p>
2050     PCP\e$B%f!<%6L>$H%Q%9%o!<%I$O\e(B ./configure \e$B;~$K\e(B --prefix \e$B$G;XDj$7$?\e(B
2051     '\e$B%$%s%9%H!<%k%G%#%l%/%H%j\e(B/etc' \e$B$K$"$k\e(B pcp.conf \e$BFb$K5-=R$5$l$F$$$k$b$N$r;XDj\e(B
2052     \e$B$7$^$9!#\e(Bpcp.conf \e$B%U%!%$%k$N>l=j$,%G%U%)%k%H0J30$N>l=j$K$"$k>l9g!"\e(Bpgpool \e$B$N\e(B
2053     -F \e$B%*%W%7%g%s$G$=$N0LCV$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B
2054     \e$B%Q%9%o!<%I$O%3%^%s%I$KEO$9;~E@$G\e(Bmd5\e$B2=$5$l$F$$$kI,MW$O$"$j$^$;$s!#\e(B
2055 </p>
2056
2057
2058 <h2>\e$B%3%^%s%I72\e(B</h2>
2059 <p>
2060    \e$BA4$F$N%3%^%s%I$O!"<B9T$7$?7k2L$,I8=`=PNO$KI=<($5$l$^$9!#\e(B
2061 </p>
2062
2063
2064 <h3>pcp_node_count</h3>
2065 <pre>
2066    \e$B=q<0!'\e(B
2067         pcp_node_count  _timeout_  _host_  _port_  _userid_  _passwd_
2068 </pre>
2069 <p>
2070    pgpool-II\e$B$N\e(B pgpool.conf \e$B$GDj5A$5$l$?%N!<%I$NAm?t$rI=<($7$^$9!#@Z$jN%$5$l$F$$$k\e(B
2071    \e$B%N!<%I$N6hJL$O$7$^$;$s!#\e(B
2072 </p>
2073
2074
2075 <h3>pcp_node_info</h3>
2076 <pre>
2077    \e$B=q<0!'\e(B
2078         pcp_node_info  _timeout_  _host_  _port_  _userid_  _passwd_  _nodeid_
2079 </pre>
2080
2081 <p>
2082    pgpool-II\e$B$N\e(B pgpool.conf \e$B$GDj5A$5$l$?%N!<%I$N>pJs$rI=<($7$^$9!#=PNO7k2L$O0J2<$N\e(B
2083    \e$BNc$NDL$j$G$9!#\e(B
2084 </p>
2085
2086 <pre>
2087    ex)
2088    $ pcp_node_info 10 localhost 9898 postgres hogehoge 0
2089    host1 5432 1 1073741823.500000
2090
2091    \e$B7k2L$O0J2<$N=g$NDL$j$G$9!#\e(B
2092    1. \e$B%N!<%I$N%[%9%HL>\e(B
2093    2. \e$B%N!<%I$N%]!<%HHV9f\e(B
2094    3. \e$B%9%F!<%?%9\e(B
2095    4. \e$B%m!<%I%P%i%s%9%&%'%$%H\e(B
2096
2097    \e$B%9%F!<%?%9$O\e(B[0..3]\e$B$^$G$N?t;z$GI=$o$5$l$^$9!#3F?t;z$N0UL#$O!'\e(B
2098    0 - \e$B=i4|2=;~$N$_$KI=$o$l$k!#\e(BPCP\e$B%3%^%s%I$GI=<($5$l$k$3$H$O$J$$!#\e(B
2099    1 - \e$B%N!<%I2TF/Cf!#@\B3L5$7\e(B
2100    2 - \e$B%N!<%I2TF/Cf!#@\B3M-$j\e(B
2101    3 - \e$B%N!<%I%@%&%s\e(B
2102 </pre>
2103
2104 <p>
2105    \e$B%m!<%I%P%i%s%9%&%'%$%H$O\e(BNormalize\e$B$5$l$?%U%)!<%^%C%H$G=PNO$5$l$^$9!#\e(B
2106 </p>
2107 <p>
2108    \e$BDj5A$5$l$F$$$J$$%N!<%I\e(BID\e$B$r;XDj$9$k$H\e(BBackendError\e$B$HI=<($5$l!"=*N;%3!<%I\e(B12\e$B$G=*\e(B
2109    \e$BN;$7$^$9!#\e(B
2110 </p>
2111
2112
2113 <h3>pcp_proc_count</h3>
2114 <p>
2115 <pre>
2116    \e$B=q<0!'\e(B
2117         pcp_proc_count  _timeout_  _host_  _port_  _userid_  _passwd_
2118 </pre>
2119 <p>
2120    pgpool-II\e$B$N;R%W%m%;%9$N%W%m%;%9\e(BID\e$B$r0lMwI=<($7$^$9!#J#?t$"$k>l9g$O6uGrJ8;z$G6h\e(B
2121    \e$B@Z$i$l$^$9!#\e(B
2122 </p>
2123
2124
2125 <h3>pcp_proc_info</h3>
2126 <p>
2127 <pre>
2128    \e$B=q<0!'\e(B
2129         pcp_proc_info  _timeout_  _host_  _port_  _userid_  _passwd_  _processid_
2130 </pre>
2131 <p>
2132    pgpool-II\e$B$N;R%W%m%;%9>pJs$rI=<($7$^$9!#=PNO7k2L$O0J2<$NNc$NDL$j$G$9!#\e(B
2133 </p>
2134 <pre>
2135    ex)
2136    $ pcp_proc_info 10 localhost 9898 postgres hogehoge 3815
2137    postgres_db postgres 1150769932 1150767351 3 0 1
2138
2139    \e$B7k2L$O0J2<$N=g$NDL$j$G$9!#\e(B
2140    1. \e$B@\B3$7$F$$$k%G!<%?%Y!<%9L>\e(B
2141    2. \e$B@\B3$7$F$$$k%f!<%6L>\e(B
2142    3. \e$B%W%m%;%9%9%?!<%H;~9o\e(B
2143    4. \e$B%3%M%/%7%g%s:n@.;~9o\e(B
2144    5. \e$B%W%m%H%3%k%a%8%c!<%P!<%8%g%s\e(B
2145    6. \e$B%W%m%H%3%k%^%$%J!<%P!<%8%g%s\e(B
2146    7. \e$B%3%M%/%7%g%s;HMQ2s?t\e(B
2147
2148    \e$B%3%M%/%7%g%s$,%P%C%/%(%s%I$KBP$7$FD%$i$l$F$$$J$$>l9g!"%G!<%?$OI=<($5$l$^$;$s!#\e(B
2149    \e$B%3%M%/%7%g%s>pJs$,J#?t$"$k>l9g!"J#?t9T$K\e(B1\e$B9T\e(B1\e$B%3%M%/%7%g%s>pJs$GI=<($5$l$^$9!#\e(B
2150    \e$B;~9o$O\e(BEPOCH\e$B%?%$%`$+$i$NIC?t$GI=$o$5$l$^$9!#\e(B
2151
2152    \e$BDj5A$5$l$F$$$J$$%W%m%;%9\e(BID\e$B$r;XDj$9$k$H\e(BBackendError\e$B$HI=<($5$l!"=*N;%3!<%I\e(B12\e$B$G\e(B
2153    \e$B=*N;$7$^$9!#\e(B
2154 </pre>
2155 </p>
2156
2157 <h3>pcp_systemdb_info</h3>
2158 <p>
2159 <pre>
2160    \e$B=q<0!'\e(B
2161         pcp_systemdb_info  _timeout_  _host_  _port_  _userid_  _passwd_
2162
2163    pgpool-II\e$B$N%7%9%F%`\e(BDB\e$B>pJs$rI=<($7$^$9!#=PNO7k2L$O0J2<$NDL$j$G$9!#\e(B
2164
2165    $ pcp_systemdb_info 10 localhost 9898 postgres hogehoge
2166    localhost 5432 yamaguti '' pgpool_catalog pgpool 3
2167    yamaguti public accounts aid 4 aid bid abalance filler integer integer integer character(84) dist_def_accounts
2168    yamaguti public branches bid 3 bid bbalance filler integer integer character(84) dist_def_branches
2169    yamaguti public tellers bid 4 tid bid tbalance filler integer integer integer character(84) dist_def_tellers
2170
2171    \e$B$^$:0l9TL\$K%7%9%F%`\e(BDB\e$B$N>pJs$,I=<($5$l$^$9!#7k2L$O0J2<$N=g$NDL$j$G$9!#\e(B
2172
2173    1. \e$B%[%9%HL>\e(B
2174    2. \e$B%]!<%HHV9f\e(B
2175    3. \e$B%f!<%6L>\e(B
2176    4. \e$B%Q%9%o!<%I!#6u$N>l9g$O\e(B''\e$B$GI=<($5$l$^$9!#\e(B
2177    5. \e$B%9%-!<%^L>\e(B
2178    6. \e$B%G!<%?%Y!<%9L>\e(B
2179    7. \e$BJ,;6Dj5A4X?t$N?t\e(B
2180
2181    \e$BFs9TL\0J9_$OJ,;6Dj5A$,I=<($5$l$^$9!#J#?t$NDj5A$,$"$k>l9g$O!"0l$D$NDj5A$K$D$-\e(B
2182    \e$B0l9TI=<($5$l$^$9!#7k2L$O0J2<$N=g$NDL$j$G$9!#\e(B
2183
2184    1. \e$BJ,;6BP>]$N%G!<%?%Y!<%9L>\e(B
2185    2. \e$BJ,;6BP>]$N%9%-!<%^L>\e(B
2186    3. \e$BJ,;6BP>]$N%F!<%V%kL>\e(B
2187    4. \e$BJ,;6%-!<%+%i%`L>\e(B
2188    5. \e$BJ,;6BP>]%F!<%V%kCf$N%+%i%`?t\e(B
2189    6. \e$B%+%i%`L>%j%9%H\e(B(5.\e$B$N%+%i%`?tJ,I=<($5$l$^$9\e(B)
2190    7. \e$B%+%i%`7?%j%9%H\e(B(5.\e$B$N%+%i%`?tJ,I=<($5$l$^$9\e(B)
2191    8. \e$BJ,;6Dj5A4X?tL>\e(B
2192
2193    \e$B%7%9%F%`\e(BDB\e$B$,Dj5A$5$l$F$$$J$$\e(B(pgpool-II\e$B%b!<%I$G$J$$!"$+$D%/%(%j%-%c%C%7%e$,%*\e(B
2194    \e$B%U$N\e(B)\e$B>l9g$K<B9T$9$k$H!"\e(BBackendError\e$B$HI=<($5$l!"=*N;%3!<%I\e(B12\e$B$G=*N;$7$^$9!#\e(B
2195 </pre>
2196 </p>
2197
2198
2199 <h3>pcp_detach_node</h3>
2200 <p>
2201 <pre>
2202    \e$B=q<0!'\e(B
2203         pcp_detach_node  _timeout_  _host_  _port_  _userid_  _passwd_  _nodeid_
2204
2205    pgpool-II\e$B$N%N!<%I$r@Z$jN%$7$^$9!#\e(B
2206 </pre>
2207 </p>
2208
2209
2210 <h3>pcp_attach_node</h3>
2211 <p>
2212 <pre>
2213    \e$B=q<0!'\e(B
2214         pcp_attach_node  _timeout_  _host_  _port_  _userid_  _passwd_  _nodeid_
2215
2216    pgpool-II\e$B$N%N!<%I$rI|5"$5$;$^$9!#\e(B
2217 </pre>
2218 </p>
2219
2220 <h3>pcp_stop_pgpool</h3>
2221 <p>
2222 <pre>
2223    \e$B=q<0!'\e(B
2224         pcp_stop_pgpool  _timeout_  _host_  _port_  _userid_  _passwd_  _mode_
2225
2226    pgpool-II\e$B$r;XDj$5$l$?%b!<%I$G%7%c%C%H%@%&%s$7$^$9!#;XDj$G$-$k%b!<%I$O0J2<$NDL\e(B
2227    \e$B$j$G$9!#\e(B
2228
2229    s    - smart \e$B%b!<%I\e(B
2230    f    - fast \e$B%b!<%I\e(B   
2231    i    - immediate \e$B%b!<%I\e(B
2232
2233    pgpool-II\e$B$,5/F0$7$F$$$J$$>l9g$O\e(BConnectionError\e$B$HI=<($5$l!"=*N;%3!<%I\e(B8\e$B$G=*N;$7\e(B
2234    \e$B$^$9!#\e(B
2235
2236    \e$B"(\e(B \e$B8=:_$O\e(B fast \e$B%b!<%I$H\e(B immediate \e$B%7%c%C%H%@%&%s$N=hM}$K6hJL$O$"$j\e(B
2237       \e$B$^$;$s!#L?Na$rAw$C$?;~E@$G%/%i%$%"%s%H$,$$$k!&$$$J$$$K4X$o$i$:\e(B
2238       \e$B%7%c%C%H%@%&%s=hM}$rB(:B$K9T$$$^$9!#\e(B
2239 </pre>
2240 </p>
2241
2242 <h3>pcp_recovery_node</h3>
2243 <p>
2244 <pre>
2245    \e$B=q<0!'\e(B
2246         pcp_recovery_node  _timeout_  _host_  _port_  _userid_  _passwd_  _nodeid_
2247
2248    pgpool-II\e$B$N%N!<%I$r%G!<%?$r:FF14|$5$;$?>e$GI|5"$5$;$^$9!#\e(B
2249 </pre>
2250 </p>
2251
2252
2253 <h2>\e$B=*N;%9%F!<%?%9\e(B</h2>
2254 <p>
2255    PCP\e$B%3%^%s%I$O@5>o$K=hM}$r=*N;$7$?>l9g!"%9%F!<%?%9\e(B'0'\e$B$G=*N;$7$^$9!#%(%i!<$,5/\e(B
2256    \e$B$-$?>l9g$O0J2<$N%9%F!<%?%9$K$h$j=*N;$7$^$9!#\e(B
2257 <pre>
2258    UNKNOWNERR   1       \e$BITL@$J%(%i!<\e(B
2259    EOFERR       2       EOF\e$B%(%i!<\e(B
2260    NOMEMERR     3       \e$B%a%b%jITB-\e(B
2261    READERR      4       \e$B%5!<%P$+$i$N%G!<%?FI$_9~$_%(%i!<\e(B
2262    WRITEERR     5       \e$B%5!<%P$X$N%G!<%?=q$-9~$_%(%i!<\e(B
2263    TIMEOUTERR   6       \e$B%?%$%`%"%&%H\e(B
2264    INVALERR     7       PCP\e$B%3%^%s%I$X$NIT@5$J%*%W%7%g%s\e(B
2265    CONNERR      8       \e$B%5!<%P@\B3%(%i!<\e(B
2266    NOCONNERR    9       \e$B@\B3$,B8:_$7$J$$\e(B
2267    SOCKERR      10      \e$B%=%1%C%H%(%i!<\e(B
2268    HOSTERR      11      \e$B%[%9%HL>2r7h%(%i!<\e(B
2269    BACKENDERR   12      \e$B%5!<%P$G$N\e(BPCP\e$B=hM}%(%i!<!#B8:_$7$J$$%W%m%;%9\e(BID\e$B$N>pJs$r<h\e(B
2270                         \e$BF@$7$h$&$H$7$?>l9g$J$I\e(B
2271    AUTHERR      13      \e$BG'>Z%(%i!<\e(B
2272 </pre>
2273 </p>
2274
2275 <h1>\e$BFbIt>pJs\e(B<a name="internal"></a></h1>
2276 <p>
2277   pgpool-II\e$B%P!<%8%g%s\e(B 2.0 \e$B0J9_$G$O!"\e(B1.x \e$B%P!<%8%g%s$HHf$YBgI}$J2~NI$,2C$($i$l$F$$$^$9!#\e(B
2278   1.x \e$B%P!<%8%g%s$N>pJs$H$O8_49@-$,$J$$$N$GCm0U$7$F$/$@$5$$!#\e(B      
2279 </p>
2280
2281 <h2>\e$B%Q%i%l%k<B9T%(%s%8%s\e(B</h2>
2282
2283 <p>
2284 pgpool-II\e$B$K$O%Q%i%l%k<B9T%(%s%8%s$,AH$_9~$^$l$F$$$^$9!#\e(B
2285 </p>
2286 <p>
2287 \e$B$3$N%(%s%8%s$O!"%Q%i%l%k%b!<%I$N$H$-$K!"3F%N!<%I$KF1$8%/%(%j$rLd$$9g\e(B
2288 \e$B$o$;!"%N!<%I$N1~Ez=g$K7k2L$r%U%m%s%H%(%s%I$KAw?.$9$k%(%s%8%s$N$3$H$r\e(B
2289 \e$B;X$7$^$9!#\e(B
2290 </p>
2291
2292 <h2>\e$B%/%(%j=q$-49$(\e(B</h2>
2293 <p>
2294 \e$B%Q%i%l%k%b!<%I$G\e(Bpgpool-II\e$B$,9T$&%/%(%j=q$-49$($K$D$$$F@bL@$7$^$9!#\e(B
2295 </p>
2296 <p>
2297 \e$B%Q%i%l%k%b!<%I$G$O!"%/%i%$%"%s%H$,Aw?.$7$?8!:w7O\e(B(SELECT\e$B=hM}\e(B)\e$B$NLd$$9g$o$;$O!"Bg$-$/J,$1$F0J2<$N\e(B 2 \e$B$D$N=hM}$r9T$$$^$9!#\e(B
2298 </p>
2299 <ol>
2300   <li>\e$B%/%(%j$N2r@O\e(B
2301   <li>\e$B%/%(%j$N=q$-49$(\e(B
2302 </ol>
2303
2304 <p>
2305 \e$B$3$l$i#2$D$N=hM}$K$D$$$F=g$K@bL@CW$7$^$9!#\e(B
2306 </p>
2307
2308 <h3>\e$B%/%(%j$N2r@O\e(B</h3>
2309 <h4>
2310 <p>
2311 \e$B$O$8$a$K\e(B
2312 </p>
2313 </h4>
2314 <p>
2315 \e$B%/%i%$%"%s%H$,Aw?.$7$?8!:w7O$NLd$$9g$o$;$O!"\e(BSQL\e$B%Q!<%5$rDL$7$F$+$i%7%9%F%`\e(BDB\e$B$KEPO?$5$l$F$$$k>pJs$r\e(B
2316 \e$B$b$H$K%/%(%j2r@O$r9T$$$^$9!#%/%(%j$N2r@O$K$O<B9T%9%F!<%?%9$NA+0\$GI>2A$7$F$$$^$9!#\e(B
2317 \e$B$3$3$G<B9T%9%F!<%?%9$H$$$&$N$O!"$"$k%G!<%?$N=89g$,2?=h$G<hF@$^$?$O=hM}$G$-$k$N$+H=CG$9$k$b$N$G$9!#\e(B
2318 \e$BNc$($P!"\e(Bpgpool_catalog.dist_def\e$B%F!<%V%k$KEPO?$5$l$F$$$k%F!<%V%k$N%G!<%?=89gA4BN$O!"%G!<%?$,J,3d$5\e(B
2319 \e$B$l$F$$$k$N$G$9$Y$F$N%N!<%I$+$i<hF@$9$kI,MW$,$"$j$^$9!#5U$K!"\e(Bpgpool_catalog.replicate_def\e$B%F!<%V%k\e(B
2320 \e$B$KEPO?$5$l$F$$$k%F!<%V%k$N%G!<%?=89gA4BN$O!"$9$Y$F$N%N!<%I$+$i<hF@$9$k$N$G$O$J$/!"$$$:$l$+$N%N!<%I\e(B
2321 \e$B$+$i<hF@$9$l$P==J,$G$9!#\e(B
2322 \e$B$3$3$G$9$Y$F$N%N!<%I$G=hM}$9$kI,MW$,$"$k>uBV$r\e(B P \e$B>uBV!"0l$D$N%N!<%I$G=hM}$9$kI,MW$,$"$k>uBV$r\e(B L \e$B>u\e(B
2323 \e$BBV$H$7$FDj5A$7$^$9!#\e(B
2324 \e$B$b$&0l$D!"FCJL$J>uBV$H$7$F\e(B S \e$B>uBV$,$"$j$^$9!#$3$l$O!"$9$Y$F$N%N!<%I$+$i<hF@$7$?A4%G!<%?$KBP$7$F=hM}\e(B
2325 \e$B$r9T$C$?$H$-$N>uBV$N$3$H$r<($7$^$9!#\e(B
2326 \e$BNc$($P!"%=!<%H=hM}$G$9!#\e(Bpgpool_catalog.dist_def\e$B%F!<%V%k$KEPO?$5$l$F$$$k%F!<%V%k$N%G!<%?$KBP$9$k%=!<\e(B
2327 \e$B%H=hM}$O!"$9$Y$F$N%N!<%I$+$i%G!<%?$r<hF@$7$?8e$K<B9T$9$kI,MW$,$"$j$^$9!#\e(B
2328
2329 </p>
2330 <p>
2331 \e$B8!:w7O%/%(%j$O!"0J2<$N=hM}=g$K2r@O$5$l!"<B9T%9%F!<%?%9$,A+0\$7$F$$$-$^$9!#\e(B
2332 \e$B<B9T%9%F!<%?%9$,A+0\$7$F$$$/2aDx$G\e(B S \e$B>uBV$H$J$k$H!"0J9_$N=hM}$OI,$:\e(B S \e$B>uBV$H$J$j$^$9!#\e(B
2333 \e$B$=$7$F:G8e$N\e(BSELECT\e$B$N:G=*<B9T%9%F!<%?%9$N>uBV$K$h$j!"2?=h$N\e(BDB\e$B$G=hM}$5$l$k$+$,\e(B
2334 \e$B7hDj$7$^$9!#\e(B
2335
2336 <ol>
2337   <li> UNION\e$B!"\e(BEXTRACT\e$B!"\e(BINTERCECT\e$B$,MxMQ$5$l$F$$$k$+$I$&$+\e(B
2338   <li> FROM \e$B6g$N<B9T%9%F!<%?%9\e(B
2339   <li> TARGETLIST \e$B$K$h$k<B9T%9%F!<%?%9$NJQ2=\e(B
2340   <li> WHERE \e$B6g\e(B \e$B$K$k<B9T%9%F!<%?%9$NJQ2=\e(B
2341   <li> GROUP BY \e$B6g$K$h$k<B9T%9%F!<%?%9$NJQ2=\e(B
2342   <li> HAVING \e$B6g$K$h$k<B9T%9%F!<%?%9$NJQ2=\e(B
2343   <li> ORDER BY \e$B6g$K$h$k<B9T%9%F!<%?%9$NJQ2=\e(B
2344   <li> LIMIT OFFSET \e$B=R8l$K<B9T%9%F!<%?%9$NJQ2=\e(B
2345   <li> SELECT\e$B$N:G=*<B9T%9%F!<%?%9$N<hF@\e(B
2346 </ol>
2347 <p>
2348 SELECT\e$B$N:G=*<B9T%9%F!<%?%9$H=hM}$5$l$k>l=j$H$N4X78$O!"0J2<$NDL$j$G$9!#\e(B
2349 </p>
2350
2351 <p>
2352 <table border>
2353 <tr><td>\e$B<B9T%9%F!<%?%9\e(B</td><td>\e$B=hM}$5$l$k>l=j\e(B</td></tr>
2354 <tr><td align = center>L</td><td>\e$B$$$:$l$+$N%N!<%I$KLd$$9g$o$;$r9T$&\e(B</td></tr>
2355 <tr><td align = center>P</td><td>\e$B$9$Y$F$N%N!<%IF1$8Ld$$9g$o$;$r9T$$!"%Q%i%l%k<B9T%(%s%8%s$rDL$7$F%/%i%$%"%s%H$KJV5Q\e(B</td></tr>
2356 <tr><td align = center>S</td><td>\e$B%7%9%F%`\e(BDB\e$B$G=hM}$r9T$C$?8e$K%/%i%$%"%s%H$KJV5Q\e(B</td></tr>
2357 </td></tr>
2358 </table>
2359 </p>
2360
2361 <p>
2362 \e$B$^$?%5%V%/%(%j$KBP$7$F$b>e5-$N%k!<%k$,E,1~$5$l$^$9!#\e(B
2363 \e$B0J2<$NC1=c$J%/%(%j$G$O!"\e(Bp1-table\e$B$,%7%9%F%`\e(BDB\e$B$N\e(Bpgpool_catalog.dist_def\e$B%F!<%V%k$KEPO?$5$l$F$$$k>l9g!"$D$^$j%G!<%?$NJ,3d$,\e(B
2364 \e$B9T$o$l$F$$$k>l9g$K$O!"%5%V%/%(%j$N:G=*<B9T%9%F!<%?%9$,\e(B P \e$B$H$J$j!"$=$N7k2L%5%V%/%(%j$N8F$S=P$785$G$"$k\e(B SELECT \e$B$N<B9T%9%F!<%?%9$b\e(B P \e$B$H$J$j$^$9!#\e(B
2365 <pre>
2366         SELECT * FROM (SELECT * FROM P1-table) as P2-table;
2367 </pre>
2368 </p>
2369 <p>
2370 \e$B<!$K6qBNE*$K<B9T%9%F!<%?%9$,$I$N$h$&$KA+0\$9$k$N$+@bL@$7$^$9!#\e(B
2371 \e$B$^$:\e(B2. From\e$B6g$N<B9T%9%F!<%?%9\e(B \e$B$+$i@bL@$7$^$9!#\e(B
2372
2373 </p>
2374 <h4>
2375 <p>
2376 FROM \e$B6g$N<B9T%9%F!<%?%9\e(B
2377 </p>
2378 </h4>
2379 <p>
2380 \e$B8!:w7O%/%(%j\e(B(SELECT)\e$B$O\e(B FROM \e$B6g$K$h$j%G!<%?$N=89g$rDj5A$7$^$9!#\e(BFROM\e$B6g$+$i9=@.$;$l$k%G!<%?=89g$O\e(B P \e$B>uBV\e(B, L \e$B>u\e(B
2381 \e$BBV!"$^$?$O\e(B S \e$B>uBV$r<h$j$^$9!#\e(BFROM\e$B6g$K;XDj$7$F$$$k%F!<%V%k$,0l$D$N>l9g$K$O!"C1=c$K%F!<%V%k$N<B9T%9%F!<%?%9$,\e(B
2382 FROM\e$B6g$+$i9=@.$5$l$k%G!<%?=89gA4BN$N<B9T%9%F!<%?%9$H$J$j$^$9!#\e(BFROM\e$B6g$KJ#?t$N%F!<%V%k!"Kt$O%5%V%/%(%j$,$"$k>l9g\e(B
2383 \e$B$K$O!"7k9gJ}K!$K$h$C$F0J2<$N$h$&$K<B9T%9%F!<%?%9$,7hDj$7$^$9!#\e(B
2384 </p>
2385
2386 <p>
2387 <table border>
2388 <tr><td>\e$B7k9gJ}<0\e(B</td><td align = center colspan = 3> LEFT OUTER JOIN </td><td align = center colspan = 3> RIGHT OUTER JOIN </td><td align = center colspan = 3>FULL OUTER JOIN</td><td align = center colspan = 3>\e$B!!!!!!$=$NB>!!!!!!\e(B</td></tr>
2389 <tr><td align = center>\e$B:8!@1&\e(B</td><td> P </td><td> L </td><td> S </td><td> P </td><td> L </td><td> S </td><td> P </td><td> L </td><td> S </td><td> P </td><td> L </td><td> S </td></tr>
2390 <tr><td align = center> P </td><td> S </td><td> P </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> P </td><td> S </td></tr>
2391 <tr><td align = center> L </td><td> S </td><td> L </td><td> S </td><td> P </td><td> L </td><td> S </td><td> S </td><td> L </td><td> S </td><td> P </td><td> L </td><td> S </td></tr>
2392 <tr><td align = center> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td><td> S </td></tr>
2393 </td></tr>
2394 </table>
2395 </p>
2396
2397 <p>
2398 \e$B0J2<$NNc$G$O!"\e(BP1-table\e$B$,\e(B P \e$B>uBV$N%F!<%V%k$G\e(BL1-table,L2-table\e$B$,\e(B L \e$B>uBV$N%F!<%V%k$@$H$7$^$9!#\e(B
2399 \e$B$9$k$H>e5-$NI=$K$h$j!"\e(BP1-table (\e$B:8\e(B)\e$B$H\e(BL1-table (\e$B1&\e(B) \e$B$,7k9g$7\e(B P \e$B>uBV$H$J$j!"$5$i$K\e(B P \e$B>uBV$H\e(B L \e$B>uBV$N\e(BL2-table\e$B$,7k9g$7$F\e(BFROM\e$B6g$N<B9T%9%F!<%?%9$O\e(B P \e$B>uBV$H$J$j$^$9!#\e(B 
2400 <pre>
2401         SELECT * FROM P1-table,L1-table,L2-table;
2402 </pre>
2403 </p>
2404
2405 <h4>
2406 <p>
2407 TARGETLIST \e$B$H\e(B WHERE\e$B6g$N<B9T%9%F!<%?%9\e(B
2408 </p>
2409 </h4>
2410
2411 <p>
2412 \e$B4pK\E*$J%/%(%j$G$O!"\e(BFROM \e$B6g$HF1$8<B9T%9%F!<%?%9$r7Q>5$7$^$9!#\e(B
2413 \e$B$7$+$7!"\e(BTARGETLIST \e$B$H\e(B WHERE\e$B6g$N<B9T%9%F!<%?%9$O!"0J2<$N>l9g$KJQ2=$7$^$9!#\e(B
2414 <ol>
2415   <li> \e$B%5%V%/%(%j$,$"$k>l9g\e(B
2416   <li> FROM\e$B6g$,\e(B P \e$B>uBV$N>l9g!"$+$D!"\e(BTARGETLIST\e$B$K=8Ls4X?t!"\e(BDISTINCT\e$B$,$"$k>l9g\e(B 
2417   <li> FROM\e$B6g$GDj5A$7$?%F!<%V%k\e(B(\e$B%G!<%?=89g\e(B)\e$B$KB8:_$7$J$$%+%i%`$,;H$o$l$F$$$k>l9g\e(B
2418 </ol>
2419 </p>
2420 <p>
2421 \e$B%5%V%/%(%j$N:G=*<B9T%9%F!<%?%9$,\e(B P \e$B>uBV!"$^$?$O!"\e(BS \e$B>uBV$N>l9g$K$O!"\e(BTARGETLIST\e$B!"\e(BWHERE\e$B6g$N<B9T%9%F!<%?%9\e(B
2422 \e$B$O!"\e(BS \e$B>uBV$H$J$j$^$9!#\e(B
2423 \e$B2<5-$NNc$G$O!"%5%V%/%(%j$G;H$o$l$F$$$k%F!<%V%k$,!"\e(BP \e$B>uBV$N>l9g$K$O!"%5%V%/%(%j$N:G=*<B9T%9%F!<%?%9$O\e(B
2424\e$B>uBV$H$J$j$^$9!#$=$N$?$a\e(B L1-table\e$B$N<B9T%9%F!<%?%9$K0MB8$;$:$K!"\e(BWHERE\e$B6g$N<B9T%9%F!<%?%9$O\e(B S\e$B>uBV$H$J$j\e(B
2425 \e$B!"$3$N%/%(%j$N<B9T>l=j$O%7%9%F%`\e(BDB\e$B$H$J$j$^$9!#\e(B
2426 </p>
2427 <pre>
2428         SELECT * FROM L1-table where L1-table.column IN (SELECT * FROM P1-table);
2429 </pre>
2430
2431 <p>
2432 FROM \e$B6g$,\e(B P \e$B>uBV$N>l9g!"$+$D!"\e(BTARGETLIST\e$B$K=8Ls4X?t$,$"$k>l9g$O!"%G!<%?$r<hF@8e$K=87W$9$kI,MW$,$"$k$?$a!"\e(BS\e$B>uBV\e(B
2433 \e$B$KA+0\$7$^$9!#\e(B
2434 \e$B$^$?!"FCDj$N>r7o$N2<$G$O!"=8Ls4X?t$K$h$k:GE,2=$,9T$o$l$^$9!#\e(B
2435 </p>
2436
2437 <p>
2438 FROM\e$B6g$GDj5A$7$?%F!<%V%k!"%5%V%/%(%j$K$OB8:_$7$J$$%+%i%`$,\e(BWHERE\e$B6g$K;H$o$l$F$$$k>l9g$,$"$j$^$9!#$3$l$O0J2<$N$h$&$JAj4X%5%V%/%(%jFb$GH/@8$7$^$9!#\e(B
2439 </p>
2440 <pre>
2441         SELECT * FROM L1-table FROM L1-table.col1 IN (SELECT * FROM P1-table WHERE P1-table.col = L1-table.col1);
2442 </pre>
2443 <p>\e$B>e5-$N%5%V%/%(%j$K;H$o$l$F$$$k\e(B L1-table.col1\e$B$O!"\e(BL1-table\e$B$r30It;2>H$7$F$$$^$9!#$3$N>l9g$K%5%V%/%(%j$N\e(BWHERE\e$B6g$N<B9T%9%F!<%?%9$O\e(B S \e$B>uBV$H$J$j$^$9!#\e(B
2444
2445
2446 <h4>
2447 <p>
2448 GROUP BY \e$B6g!"\e(BHAVING \e$B6g!"\e(BORDER BY \e$B6g!"\e(BLIMIT OFFSET \e$B=R8l$N<B9T%9%F!<%?%9\e(B
2449 </p>
2450 </h4>
2451
2452 <p>
2453 WHERE\e$B6g$N<B9T%9%F!<%?%9$,\e(B P \e$B>uBV$N>l9g$K!"\e(BGROUP BY , HAVING \e$B6g!"\e(BORDER BY \e$B6g!"\e(BLIMIT OFFSET \e$B=R8l$,$"$k$H\e(BS\e$B>uBV$KA+0\$7$^$9!#\e(B
2454 GROUP BY\e$B6g$,B8:_$7$J$$%/%(%j$O\e(BWHERE\e$B6g$N<B9T%9%F!<%?%9$r7Q>5$7$^$9!#$^$?!"\e(BHAVING\e$B6g$,L5$$>l9g$K$O\e(BGROUP BY \e$B6g$N<B9T%9%F!<%?%9$r7Q>5$7$^$9!#\e(B
2455 ORDER BY \e$B6g!"\e(BLIMIT OFFSET \e$B=R8l$bF1MM$G$9!#\e(B
2456 </p>
2457
2458 <p>
2459 UNION\e$B!"\e(BEXTRACT\e$B!"\e(BINTERSECT\e$B$,;H$o$l$F$$$k>l9g\e(B
2460 </p>
2461
2462 <p>
2463 UNION\e$B!"\e(BEXTRAT\e$B!"\e(BINTERSECT\e$B$,;H$C$F$$$k%/%(%j$O:8B&$N\e(BSELECT\e$BJ8$H1&B&$N\e(BSELECT\e$BJ8$N:G=*<B9T%9%F!<%?%9$K0MB8$7$^$9!#\e(B
2464 \e$B:8B&$H1&B&$N\e(BSELECT\e$BJ8$N:G=*<B9T%9%F!<%?%9$,6&$K\e(B L \e$B>uBV$N;~$K$O!"\e(BL \e$B>uBV$H$J$j$^$9!#\e(B
2465 \e$B$^$?!":8B&$H1&B&$N\e(BSELECT\e$BJ8$N:G=*<B9T%9%F!<%?%9$,6&$K\e(B P \e$B>uBV!"$+$D\e(BUNION ALL\e$B$N>l9g$K$O\e(B P \e$B>uBV$H$J$j$^$9!#\e(B
2466 \e$B$=$NB>$NAH$_9g$o$;$N>l9g$K$O!"\e(BS\e$B>uBV$H$J$j$^$9!#\e(B
2467 </p>
2468
2469 <h4>
2470 <p>
2471 SELECT\e$B$N:G=*<B9T%9%F!<%?%9$N<hF@\e(B
2472 </p>
2473 </h4>
2474
2475 <p>
2476 \e$B<B9T%9%F!<%?%9$,$9$Y$F\e(B L \e$B>uBV$N>l9g$K$O\e(BL\e$B>uBV!"$9$Y$F\e(B P \e$B>uBV$N>l9g$K$O!"\e(BP \e$B>uBV$H$J$j$^$9!#\e(B
2477 \e$B$=$l0J30$O!"\e(BS \e$B>uBV$H$J$j$^$9!#\e(B
2478\e$B>uBV$N>l9g$K$O!"\e(Bpgpool.conf\e$B$N\e(Bloadbalance_mode\e$B$,\e(Btrue\e$B$N>l9g$K$OIi2YJ,;6$5$l!"$=$l0J30$N>l9g$K$O\e(BMASTER\e$B$KLd$$9g$o$;$r9T$$$^$9!#$^$?!"\e(BP \e$B>uBV$N>l9g$K$O!"%Q%i%l%k<B9T%(%s%8%s$r;H$C$FJBNs=hM}$,9T$o$l$^$9!#\e(BS \e$B>uBV$N>l9g$K$O!"<!$N%U%'!<%:$G$"$k%/%(%j=q$-49$($r9T$$$^$9!#\e(B
2479 </p>
2480
2481 <h3>\e$B%/%(%j=q$-49$(\e(B</h3>
2482
2483 <p>
2484 \e$B%/%(%j$N2r@O%U%'!<%:$G<hF@$7$?<B9T%9%F!<%?%9$r;H$C$F%/%(%j$N=q$-49$($r9T$$$^$9!#\e(B
2485 \e$BNc$H$7$F\e(B P \e$B>uBV$N\e(B P1-table \e$B$H\e(B L \e$B>uBV$N\e(B L1-table \e$B$r;H$C$?%/%(%j$G@bL@$7$^$9\e(B
2486 </p>
2487 <pre>
2488         SELECT P1-table.col, L1-table.col FROM P1-table,L1-table where P1-table.col = L1-table.col order by P1-table.col;
2489 </pre>
2490 <p>
2491 \e$B$3$N%/%(%j$G$O\e(B ORDER BY \e$B6g$,$"$k$?$a\e(B S \e$B>uBV$H$J$j!"\e(BFROM\e$B6g!"\e(BWHERE\e$B6g!"\e(BTARGETLIST\e$B$O\e(B P \e$B>uBV$H$J$j$^$9!#\e(B
2492 \e$B$3$N$h$&$J%/%(%j$G$O0J2<$N$h$&$K=q$-49$($i$l$^$9!#\e(B
2493 </p>
2494 <pre>
2495         SELECT P1-table.col, L1-table.col FROM
2496         \e$B!!!!!!\e(Bdblink(select pool_parallel(SELECT P1-table.col, L1-table.col FROM P1-table,L1-table where P1-table.col = L1-table.col)) 
2497         order by P1-table.col;
2498 </pre>
2499 <p>
2500 \e$B$3$3$G\e(Bdblink\e$B$O\e(Bpgpool-II\e$B$KLd$$9g$o$;$rAw?.$7$^$9!#$^$?!"\e(Bpool_parallel\e$B$O0z?t$N%/%(%j$r%Q%i%l%k<B9T%(%s%8%s$r$K$o$?$94X?t$G$9!#$J$*!">e5-$O$"$/$^$G%$%a!<%8$G$"$j<B:]$K<B9T2DG=$J%/%(%j$G$O$"$j$^$;$s!#\e(B
2501 </p>
2502 <p>  
2503 \e$B>e5-$NNc$N$h$&$K!"\e(BFROM\e$B6g!"\e(BWHERE\e$B6g!"\e(BTARGETLIST\e$B$,$9$Y$F\e(B P \e$B>uBV$N>l9g$K$O!"\e(BFROM\e$B6g!"\e(BWHERE\e$B6g!"\e(BTARGETLIST\e$B$r$^$H$a$FJBNs=hM}$r9T$$$^$9!#\e(B
2504
2505 <p>
2506 \e$B<!$NNc$r8+$F$_$^$9!#\e(B
2507 </p>
2508 <pre>
2509         SELECT L1-table.col FROM L1-table WHERE L1-table.col % 2 = 0 AND L1-table.col IN (SELECT P1-table FROM P1-table) ;
2510 </pre>
2511 <p>
2512 \e$B$3$NNc$G$O!"\e(BFROM \e$B6g$O\e(B L \e$B>uBV!"\e(BTARGETLIST\e$B$b\e(B L \e$B>uBV!"\e(BWHERE\e$B6g$O\e(B P \e$B>uBV$N%5%V%/%(%j$r;}$C$F$$$k$?$a\e(B S \e$B>uBV$H$J$j$^$9!#\e(B
2513 \e$B$3$l$O0J2<$N$h$&$K=q$-49$($,9T$o$l$^$9!#\e(B
2514 </p>
2515 <pre>
2516         SELECT L1-table.col FROM dblink(SELECT loadbalance(SELECT L1-table.col FROM L1-table WHERE L1-table.col % 2 = 0 AND TRUE))
2517                 WHERE
2518                         L1-table.col %2 = 0 AND 
2519                   L1-table.col IN 
2520                   (
2521                         SELECT P1-Table FROM 
2522                         dblink(select pool_parallel(SELECT P1-table FROM P1-table))
2523                   ) ;
2524 </pre>
2525 <p>
2526 \e$B$3$3$G!"\e(Bpool_loadbalance\e$B$O%/%(%j$r$$$:$l$+$N%N!<%I$KAw?.$9$k4X?t$G$9!#\e(B
2527 </p>
2528
2529 <h4>
2530 <p>
2531 \e$B=8Ls$K$h$k%/%(%j=q$-49$(\e(B
2532 </p>
2533 </h4>
2534
2535 <p>
2536 \e$B=87W$r9T$&%/%(%j\e(B(\e$B=8Ls4X?t!"\e(BGROUP BY )\e$B$O3F%N!<%I$K7W;;$5$;!"%7%9%F%`\e(BDB\e$B$G\e(B
2537 \e$B:F=87W$r9T$&$3$H$K$h$j!"%7%9%F%`\e(BDB\e$B$NIi2Y$r8:$i$7%Q%U%)!<%^%s%9$b8~>e\e(B
2538 \e$B$7$^$9!#\e(B
2539 </p>
2540 <p>
2541 \e$B$^$:!":G=i$K\e(Bpgpool-II\e$B$,<B:]$K9T$&%/%(%j$N=q$-49$($r8+$F$_$^$9!#\e(B
2542 </p>
2543 <p>
2544 FROM \e$B6g$,\e(B P \e$B>uBV$G\e(B count(*) \e$B$r;H$C$?%/%(%j$O!"0J2<$N$h$&$K=q$-49$($,9T$o$l$^$9!#\e(B
2545 </p>
2546
2547 <pre>
2548     select count(*) from P1-table;
2549
2550     -> \e$B%/%(%j=q$-49$(\e(B
2551
2552     SELECT 
2553         sum(pool_c$1) as count 
2554     FROM 
2555         dblink(select pool_parallel('select count(*) from  P1-table'))
2556                                         AS pool_$1g (pool_c$1 bigint); 
2557 </pre>
2558
2559 <p>
2560 \e$B3F%N!<%I$G\e(Bcount(*) \e$B$r7W;;$7$?8e$K!"%7%9%F%`\e(BDB\e$B$G=87W\e(B(sum)\e$B$r$9$k$3$H$K$h\e(B
2561 \e$B$j!"L\E*$,C#@.$G$-$^$9!#\e(B
2562 </p>
2563
2564 <p>
2565 \e$B>e5-$N$h$&$J%/%(%j=q$-49$($,9T$o$l$k>r7o$O0J2<$N>l9g$G$9!#\e(B
2566 </p>
2567 <ol>
2568   <li>FROM \e$B6g$,\e(BP \e$B>uBV\e(B
2569   <li>\e$B%?!<%2%C%H%j%9%H$K=8Ls4X?t\e(B(count, sum, min, max,avg\e$B$N$_BP1~\e(B),GROUP BY\e$B$K;XDj$7$?%+%i%`$,;H$o$l$F$$$k\e(B
2570   <li>WHERE \e$B6g$,\e(BP \e$B>uBV\e(B
2571   <li>HAVING \e$B6g\e(B \e$B$K;H$o$l$F$$$k=8Ls4X?t\e(B(count, sum, min, max,avg\e$B$N$_BP1~\e(B),FROM\e$B6g$GDj5A$5$l$F$$$k%+%i%`\e(B,GROUP BY\e$B$K;XDj$7$?%+%i%`$N$_;H$o$l$F$$$k!#\e(B
2572 </ol>
2573 <pre>
2574   \e$BNc\e(B)
2575      select P1-table.col,L1-table.col,count(*),avg(P1-table.col) from P1-table,L1-table wehre P1-table.col %2 = 0 group by P1-table.col,L1-table.coli having count(*) < 100
2576 </pre>
2577
2578 <h3>\e$B%Q%i%l%k%b!<%I$NCm0U;v9`\e(B</h3>
2579 <p>
2580 \e$B%Q%i%l%k%b!<%I$G$O!"%/%(%j$N2r@O$N:]$K%+%i%`L>$H%?%$%W$,I,MW$K$J$j$^$9!#$=$N$?$a!"%5%V%/%(%j$N\e(BTARGETLIST\e$B$K<0!"4X?t$r;H$C$F$$$k>l9g$K$OJLL>$H7?L>$r%-%c%9%H$G$D$1$kI,MW$,$"$j$^$9!#<0!"4X?t$K7?$N%-%c%9%H$,$J$$>l9g$K$O!"\e(Btext\e$B7?$H$7$F=hM}$5$l$^$9$N$GCm0U$7$F$/$@$5$$!#\e(B
2581 \e$B$J$*!"=8Ls4X?t$N>l9g$G$+$D=8Ls$K$h$k%/%(%j=q$-49$($,9T$o$l$k>l9g$K$O!"\e(Bcount\e$B$O\e(Bbigint\e$B7?!"\e(Bsum\e$B$O\e(Bnumeric\e$B7?$H$J$j$^$9!#\e(Bmin,max\e$B$N>l9g$K$O!"0z?t$,F|IU7?$N>l9g$K$OF|IU7?$H$7$F7W;;$5$l!"$=$l0J30$O\e(Bnumeric\e$B$H$7$F7W;;$5$l$^$9!#\e(Bavg\e$B$O\e(Bsum/count\e$B$H$7$F=hM}$5$l$^$9!#\e(B
2582 </p>
2583
2584 <h3>\e$B%Q%i%l%k%b!<%I$N%Q%U%)!<%^%s%9$K$D$$$F\e(B</h3>
2585 <p>
2586 <p>
2587 SELECT\e$B$N:G=*<B9T%9%F!<%?%9$H%Q%U%)!<%^%s%9$N$*$*$h$=$NL\0B$O0J2<$N$H$*$j$G$9!#\e(B
2588 <table border>
2589 <tr><td>\e$B<B9T%9%F!<%?%9\e(B</td><td>\e$B%Q%U%)!<%^%s%9\e(B</td></tr>
2590 <tr><td align = center>L</td><td>\e$B%Q%i%l%k%/%(%j$rMxMQ$7$J$$$N$G\e(Bpgpool-II\e$B$N%*!<%P!<%X%C%I$r=|$-!"C1BN%N!<%I$H$N@-G=Nt2=$O$J$$\e(B</td></tr>
2591 <tr><td align = center>P</td><td>\e$BJBNs=hM}$r9T$&$N$G9bB.!"FC$K%7!<%1%s%7%c%k%9%-%c%s$N>l9g$K$O8z2L$,$G$k!#$^$?!"%G!<%?$rJ,3d$9$k$3$H$G%F!<%V%k%5%$%:\e(B(/1\e$BBf\e(B)\e$B$,>.$5$/$J$k$3$H$K$h$j%-%c%C%7%e$K>h$j$d$9$/$J$k\e(B </td></tr>
2592 <tr><td align = center>S</td><td>\e$B=8Ls$K$h$k%/%(%j=q$-49$($,9T$o$l$k$H9bB.\e(B</td></tr>
2593 </td></tr>
2594 </table>
2595 </p>
2596
2597 </p>
2598
2599 <h1>\e$B%A%e!<%H%j%"%k\e(B</h1>
2600 <p>
2601 pgpool-II\e$B$N%A%e!<%H%j%"%k$O\e(B<a href="tutorial-ja.html">\e$B$3$3\e(B<a/>\e$B$K$"$j$^$9!#@'Hs$4Mw2<$5$$!#\e(B
2602 </p>
2603
2604 <h1>\e$B%j%j!<%9%N!<%H\e(B<a name="release"></a></h1>
2605
2606 <h2>2.2.5 (urukiboshi) 2009/10/4</h2>
2607 <h3>\e$B35MW\e(B</h3>
2608 <p>
2609 \e$B$3$N%P!<%8%g%s$G$O!"\e(B2.2.4\e$B0JA0$N?'!9$J%P%0$,=$@5$5$l$F$$$^$9!#\e(B
2610 </p>
2611 <h3>\e$B%P%0=$@5\e(B</h3>
2612 <ul>
2613 <li>\e$B%3%M%/%7%g%s?t$N%+%&%s%H$N%_%9$K$h$j!"%*%s%i%$%s%j%+%P%j$,=*$o$i$J$/$J$k%P%0$r=$@5$7$^$7$?\e(B(Tatsuo)
2614 <li>\e$BFbItE*$K%m%C%/$rH/9T$9$k:]$K$b%U%m%s%H%(%s%I$,0[>o=*N;$7$?$3$H$r8!=P$7$F\e(BSQL\e$B%3%^%s%I$r%-%c%s%;%k$9$k$h$&$K$7$^$7$?\e(B(Tatsuo)
2615 <li>\e$B@\B3$N=*N;=hM}$GL58B%k!<%W$K4Y$k$3$H$,$"$k%P%0$r=$@5$7$^$7$?\e(B(Xavier Noguer, Tatsuo)
2616 <li>\e$B3HD%%W%m%H%3%k$N%Q!<%9=hM}$G\e(Bkind mismatch error\e$B$,5/$-$?:]$K@5$7$$\e(BSQL\e$BJ8$rI=<($9$k$h$&$K$7$^$7$?\e(B(Tatsuo)
2617 <li>\e$B%I%-%e%a%s%H$r2~A1$7$^$7$?\e(B(Tatsuo)
2618 </ul>
2619 </p>
2620
2621 <h2>2.2.4 (urukiboshi) 2009/8/24</h2>
2622 <h3>\e$B35MW\e(B</h3>
2623 <p>
2624 \e$B$3$N%P!<%8%g%s$G$O!"\e(B2.2.3\e$B0JA0$N?'!9$J%P%0$,=$@5$5$l$F$$$^$9!#\e(B
2625 </p>
2626 <h3>\e$B%P%0=$@5\e(B</h3>
2627 <ul>
2628  <li>pgpool-II 2.2.2\e$B$GF~$C$F$7$^$C$?%P%0$r=$@5$7$^$7$?!#%U%m%s%H%(%s%I$,%"%\!<%H$9$k%?%$%_%s%0$K$h$C$F$O!"0J8eFbIt>uBV$,%j%;%C%H$5$l$:!"<!$N%;%C%7%g%s$G\e(BDML\e$B$d\e(BDDL\e$B$,%^%9%?!<%N!<%I$N$_Aw$i$l!"%N!<%I4V$G%G!<%?$NIT0lCW$,@8$8$k$3$H$,$"$j$^$7$?\e(B(Tatsuo)
2629  <li>pgpool-II 2.2.3\e$B$G%P!<%8%g%s\e(B2\e$B%W%m%H%3%k$N%/%i%$%"%s%H$,F0$+$J$/$J$C$F$7$^$C$F$$$?$N$r=$@5$7$^$7$?!#\e(B
2630           \e$B$^$?!";~4V$N$+$+$k%/%(%j$rBT$C$F$$$k4V$K%U%m%s%H%(%s%I$,0[>o=*N;$7$?$3$H$r8!CN$9$k4V3V$r\e(B1\e$BIC$+$i\e(B30\e$BIC$KJQ99$7$^$7$?!#$3$N%A%'%C%/$O!"\e(B2.2.4\e$B$G$O%W%m%H%3%k%P!<%8%g%s$,\e(B3\e$B$N$H$-$N$_M-8z$G$9\e(B(Tatsuo)
2631  <li>\e$B;R%W%m%;%9$r5/F0$9$kA0$K%7%0%J%k$N%V%m%C%/$d%O%s%I%i$N@_Dj$r9T$J$&$h$&$K$7$^$7$?!#\e(B
2632 \e$B$3$l$O!"\e(Bpgpool-II\e$B$r5/F0$7$?D>8e$K%U%!%$%k%*!<%P$J$I$N;v>]$,H/@8$7$F;R%W%m%;%9$+$i?F%W%m%;%9$K%7%0%J%k$,Aw$i$l$k$H!"\e(Bpgpool-II\e$B$N?F%W%m%;%9$,;`$s$G$7$^$&$3$H$,$"$k$+$i$G$9\e(B(Tatsuo)
2633 </ul>
2634 </p>
2635
2636 <h2>2.2.3 (urukiboshi) 2009/8/11</h2>
2637 <h3>\e$B35MW\e(B</h3>
2638 <p>
2639 \e$B$3$N%P!<%8%g%s$G$O!"\e(B2.2.2\e$B0JA0$N?'!9$J%P%0$,=$@5$5$l$F$$$^$9!#\e(B
2640 </p>
2641 <h3>\e$B%P%0=$@5\e(B</h3>
2642 <ul>
2643  <li>\e$B%P%C%/%(%s%I$K?7$7$$%3%M%/%7%g%s$rD%$k:]$K!"%P%C%/%(%s%I$N0l$D$,>c32$r5/$7$F$$$k%1!<%9$G!"8e=hM}$NCf$G\e(Bpgpool-II\e$B$N;R%W%m%;%9$,Mn$A$k$3$H$,$"$k%P%0$r=$@5$7$^$7$?\e(B(Tatsuo)
2644  <li>\e$B%Q%i%l%k%/%(%j$N%P%0$r=$@5$7$^$7$?\e(B(Yoshiharu Mori)
2645  <li>\e$B3HD%%W%m%H%3%k$N>l9g$K$b%(%i!<%a%C%;!<%8$NCf$G:G8e$K;HMQ$7$?%/%(%j$,I=<($G$-$k$h$&$K$J$j$^$7$?\e(B(Akio Ishida)
2646  <li>kind mismatch error\e$B%a%C%;!<%8$N:n@.$G!"%a%C%;!<%8FbMF$,2u$l$k$3$H$,$"$k%P%0$r=$@5$7$^$7$?\e(B(Tatsuo, Akio Ishida)
2647  <li>\e$B%P%C%/%(%s%I$X$N@\B35-=R;R$N;2>H%?%$%_%s%0$K$h$C$F$O\e(Bpgpool-II\e$B$N;R%W%m%;%9$,Mn$A$k$3$H$,$"$k%P%0$r=$@5$7$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2648  <li>pool_error\e$B$d\e(Bpool_log\e$B$N0z?t$,4V0c$C$F$$$?8D=j$r=$@5$7$^$7$?\e(B(Akio Ishida)\e$B!#\e(B
2649  <li>statement_timeout\e$B$N%?%$%`%"%&%H$K$h$k%(%i!<=hM}$r2~NI$7$^$7$?!#<B:]$K$O%?%$%`%"%&%H$^$G$K\e(Bstatement_timeout\e$B$G@_Dj$7$?;~4V$NG\$+$+$C$F$$$?$N$rD>$7$^$7$?!#$^$?!"\e(Bmaster\e$B$@$1$,\e(Bstatement_timeout\e$B$rJV$7$?>l9g$K$bBP1~$G$-$k$h$&$K$7$^$7$?!#0JA0$O\e(Bkind mismatch\e$B%(%i!<$K$J$C$F$$$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2650 (master\e$B0J30$,\e(Bstatement_timeout\e$B$rJV$5$J$$%1!<%9$G$O\e(Bkind mismatch\e$B%(%i!<$K$J$j$^$9\e(B)\e$B!#\e(B
2651
2652  <li>health check\e$B$r$h$j6/2=$7!"\e(Bpostmaster\e$B$,\e(BSIGSTOP\e$B$G;_$C$F$7$^$C$F$$$k>l9g$b>c328!CN$G$-$k$h$&$K$7$^$7$?!#\e(B
2653
2654  <li>\e$B%P%C%/%(%s%I$K\e(BSQL\e$B$rEj$2!"$=$N1~Ez$rBT$C$F$$$k4V$K%/%i%$%"%s%H$,\e(Bpgpool\e$B$KBP$9$k%3%M%/%7%g%s$r@ZCG$7$?$3$H$,8!=P$G$-$k$h$&$K$J$j$^$7$?!#\e(B
2655 \e$B$?$H$($P!"\e(BWeb\e$B%"%W%j%1!<%7%g%s$G$O\e(BDB\e$B$KBP$7$F%j%/%(%9%H$rEj$2$F!"1~Ez$,$J$$$H%-%c%s%;%k$9$k$h$&$J$3$H$,IQHK$K5/$j$^$9!#\e(B
2656 \e$B$3$N>l9g!":#$^$G$O\e(Bpgpool\e$B$d\e(BPostgreSQL\e$B$N%W%m%;%9$,;D$C$F$7$^$$!"F1;~@\B3?t$,8O3i$7$?$j!"%m%C%/$r<h$C$?$^$^$N%H%i%s%6%/%7%g%s$,;D$k$J$I$7$F%7%9%F%`A4BN$K1F6A$rM?$($k$3$H$,$"$j$^$7$?!#\e(B
2657 \e$B:#2s$N=$@5$K$h$j!"$3$&$7$?>u67$,8!=P$G$-$k$h$&$K$J$C$?$@$1$G$J$/!"\e(BSQL\e$B$N1~EzBT$A$N4V$K%/%i%$%"%s%H$,%3%M%/%7%g%s$r@ZCG$7$?:]$K$O!"\e(BSQL\e$B%3%^%s%I$N%-%c%s%;%k$r\e(Bpgpool\e$B$,9T$J$C$F!"%m%C%/BT$A$J$I$N%P%C%/%(%s%I%W%m%;%9$,;D$k$N$rKI$0$3$H$,$G$-$k$h$&$K$J$j$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2658
2659 <li>\e$B0z?t$J$7$N\e(BCLUSTER\e$B%3%^%s%I$O%H%i%s%6%/%7%g%s$NCf$G$O<B9T$G$-$J$$$N$G!"<+F0%H%i%s%6%/%7%g%s$r%9%?!<%H$7$J$$$h$&$K$7$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2660
2661 <li>\e$BJ#?t$N%W%j%Z%"%I%9%F!<%H%a%s%H$r;H$C$F$$$k:]$K!"%;%C%7%g%s$N=*$j$G$=$N0lIt$@$1$,2rJ|$5$l$k%P%0$r=$@5$7$^$7$?\e(B(Akio Ishida)
2662 \e$B!#\e(B
2663 <li>sql/pgpool-recovery/pgpool-recovery.c\e$B$,\e(BPostgreSQL 8.4\e$B$G%3%s%Q%$%k$G$-$k$h$&$K$7$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2664
2665 <li>\e$B3HD%%W%m%H%3%k$r;H$C$F$$$k>l9g$K!"%/%i%$%"%s%H$H\e(Bpgpool\e$B$N4V$G$*8_$$$KBT$A>uBV$K$J$C$F$7$^$&$3$H$,$"$k%P%0$r=$@5$7$^$7$?\e(B(Gavin Sherry)\e$B!#\e(B
2666
2667 <li>COPY FROM\e$B$r<B9TCf$K%/%i%$%"%s%H$,=hM}$rCfCG$7$?>l9g$K!"%P%C%/%(%s%I%W%m%;%9$,;D$C$F$7$^$&%P%0$r=$@5$7$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2668
2669 </ul>
2670
2671 <h2>2.2.2 (urukiboshi) 2009/5/5</h2>
2672 <h3>\e$B35MW\e(B</h3>
2673 <p>
2674 \e$B$3$N%P!<%8%g%s$G$O!"\e(B2.2.1\e$B0JA0$N?'!9$J%P%0$,=$@5$5$l$F$$$^$9!#\e(B
2675 \e$B$H$j$o$1!"\e(Bpgpool\e$B$,%/%i%$%"%s%H$H$N4V$G%G!<%?$N$d$j<h$j$r$7$F$$$k:GCf$K!"\e(Bpgpool\e$B$N%/%i%$%"%s%H$,=*N;\e(B(X)\e$B%Q%1%C%H$r\e(Bpgpool\e$B$KAw?.$;$:$K=*N;$7$?>l9g$K5/$k2DG=@-$,$"$j$^$9!#\e(B
2676 \e$B$3$N%P%0$O2a5n$N$9$Y$F$N\e(Bpgpool\e$B$KB8:_$7$F$$$^$9!#\e(B
2677 </p>
2678 <h3>\e$B%P%0=$@5\e(B</h3>
2679 <ul>
2680   <li>\e$B%U%m%s%H%(%s%I$K\e(Bpgpool\e$B$,%G!<%?$rAw?.$9$k:]$N%(%i!<$rL5;k$9$k$h$&$K$7$^$7$?!#$3$l$K$h$C$F!"%P%C%/%(%s%I$H$N4V$GI,MW$J=hM}$,CfCG$5$l$J$$$h$&$K$J$j!"%P%C%/%(%s%I$N4V$G%G!<%?$N0l4S@-$,$J$/$J$kLdBj$,2sHr$5$l$k$h$&$K$J$j$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2681
2682   <li>\e$B%^%9%?!<%9%l!<%V%b!<%I$K4X$9$k\e(B2.2.1\e$B$N=$@5$N:]$K@8$8$?%P%0$r=$@5$7$^$7$?!#%W%j%Z%"%I%9%F!<%H%a%s%H$r;H$$2s$9$H%O%s%0%"%C%W$9$k2DG=@-$,$"$j$^$7$?\e(B(Toshihiro)\e$B!#\e(B
2683
2684   <li>SQL\e$B%3%^%s%I$N\e(BPREPARE\e$B$H%W%m%H%3%k%l%Y%k$N\e(BEXECUTE\e$B$,:.:_$9$k$H%P%C%/%(%s%I$,%/%i%C%7%e$9$k%P%0$r=$@5$7$^$7$?!#$3$N%P%0$,!"\e(B2.2\e$B$G;}$A9~$^$l$?$b$N$G$9\e(B(Tatsuo)\e$B!#\e(B
2685
2686   <li>\e$B%3%M%/%7%g%s$N%j%;%C%HMQ$NLd9g$o$;$r<B9TCf$K%(%i!<$,5/$-$?>l9g$K!"\e(BPostgreSQL\e$B$N%m%0$K\e(B"unexpected EOF on client connection"\e$B$,5-O?$5$l$kLdBj$r=$@5$7$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2687 </ul>
2688
2689 <h2>2.2.1 (urukiboshi) 2009/4/25</h2>
2690 <h3>\e$B35MW\e(B</h3>
2691 <p>
2692 \e$B$3$N%P!<%8%g%s$G$O!"\e(B2.2\e$B$N?'!9$J%P%0$,=$@5$5$l$F$$$^$9!#\e(B
2693 </p>
2694 <h3>\e$B%P%0=$@5\e(B</h3>
2695 <ul>
2696   <li>master/slave\e$B%b!<%I$G!"\e(BDEALLOCATE\e$B$,<:GT$9$k$3$H$,$"$kLdBj$r=$@5$7$^$7$?!#\e(B
2697            \e$B$3$l$O!":G=i$N\e(BPREPARE\e$B$,\e(Bslave\e$B$G<B9T$5$l$J$$$3$H$K$h$k$b$N$G$9\e(B(Toshihiro)
2698
2699   <li>pgpool.spec\e$B$J$I$r\e(B2.2\e$BBP1~$K$7$^$7$?\e(B(Devrim)
2700
2701   <li>Version 2\e$B%W%m%H%3%k$G$O\e(Binsert_lock\e$B$,L5;k$5$l$k$h$&$K$7$^$7$?\e(B(Tatsuo)
2702
2703   <li>\e$B%Q%i%a!<%?JQ99%a%C%;!<%8$,%P%C%/%(%s%I$+$iFO$/EY$K%m%0$,=PNO$5$l$k$N$r;_$a$^$7$?\e(B(Tatsuo)
2704
2705   <li>\e$B%I%-%e%a%s%H$GDI2C$7K:$l$?%U%!%$%k$rEPO?$7$^$7$?\e(B(Tatsuo)
2706 </ul>
2707
2708 <h2>2.2 (urukiboshi) 2009/2/28</h2>
2709 <h3>\e$B35MW\e(B</h3>
2710 <p>
2711 \e$B$3$N%P!<%8%g%s$G$O!"\e(BSERIAL\e$B%G!<%?$N07$$$H%*%s%i%$%s%j%+%P%j$K2~NI$,9T$J$o$l$F$$$^$9!#\e(B
2712 \e$B$^$?!"%H%i%s%6%/%7%g%sJ,N%%l%Y%k$,%7%j%"%i%$%6%V%k$N>l9g$K!"\e(BDB\e$B%N!<%I4V$G%G!<%?$N0l4S@-$,$J$/$J$k2DG=@-$,$"$kLdBj!"%/%(%j$N%-%c%s%;%k$,$G$-$J$$LdBj$,=$@5$5$l$^$7$?!#\e(B
2713 </p>
2714
2715 <h3>\e$B?75!G=\e(B</h3>
2716 <p>
2717 <ul>
2718 <li>insert_lock\e$B$,M-8z$J>l9g!"\e(BSERIAL\e$B7?$r;}$D%F!<%V%k$@$1$,%m%C%/$5$l$k$h$&$K$J$j$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2719 <li>\e$B@_Dj9`L\\e(Bclient_idle_limit_in_recovery\e$B$,DI2C$5$l$^$7$?!#\e(B
2720          \e$B%*%s%i%$%s%j%+%P%j$NBh\e(B2\e$B%9%F!<%8$G%/%i%$%"%s%H$,%"%$%I%k$N$^$^5o:B$k$3$H$K$h$C$F!"\e(B
2721          \e$B%*%s%i%$%s%j%+%P%j$,?J9T$7$J$/$J$k$3$H$rKI$0$3$H$,$G$-$^$9\e(B(Tatsuo)\e$B!#\e(B
2722 <li>\e$B@_Dj9`L\\e(Bpid_file_name\e$B$,DI2C$5$l$^$7$?!#$3$l$O!"\e(Bpgpool-II\e$B$N\e(Bpid\e$B%U%!%$%k$r;XDj$7$^$9!#\e(B
2723          \e$B$3$l$K$h$j!"\e(Blogdir\e$B$O;HMQ$5$l$J$/$J$j$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2724 <li>DECLARE, FETCH, CLOSE\e$B$GIi2YJ,;6$5$l$k$h$&$K$J$j$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2725 <li>pcp\e$B%3%^%s%I$K%G%P%C%0%*%W%7%g%s\e(B(-d)\e$B$,DI2C$5$l$^$7$?\e(B(Jun Kuriyama)\e$B!#\e(B
2726 <li>"kind mismatch"\e$B%(%i!<$N:]$K!"860x$H$J$C$?%/%(%j$rI=<($9$k$h$&$K$7$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2727 </ul>
2728 </p>
2729
2730 <h3>\e$B8_49@-\e(B</h3>
2731 <ul>
2732   <li>\e$B%U%'%$%k%*!<%P;~$KI,$:\e(Bpgpool\e$B$N;R%W%m%;%9$r:F5/F0$9$k$h$&$K$7$^$7$?!#\e(B
2733            \e$B$3$N7k2L!"%U%'%$%k%*!<%P;~$K$OI,$:\e(Bpgpool\e$B$X$N%;%C%7%g%s$,0lC<@Z$l$k$3$H$K$J$j$^$9!#\e(B
2734            \e$B$3$&$7$J$$$H!"%M%C%H%o!<%/%1!<%V%kH4$1$J$I$N:]$K!"\e(B
2735            TCP/IP\e$B$N%l%$%d$G:FAw$,9T$J$o$l!"D9$$;~4V$=$N$^$^$K$J$C$F$7$^$&$3$H$,\e(B
2736            \e$B$"$k$+$i$G$9\e(B(Tatsuo)\e$B!#\e(B
2737   <li>\e$B@_Dj9`L\\e(Blogdir\e$B$O;H$o$l$J$/$J$j$^$7$?!#Be$j$K!"\e(Bpid_file_name\e$B$r;H$C$F$/$@$5$$\e(B(Tatsuo)\e$B!#\e(B
2738
2739   <li>insert_lock\e$B$N%G%U%)%k%HCM$,\e(Btrue\e$B$K$J$j$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2740 </ul>
2741
2742 <h3>\e$B%P%0=$@5\e(B</h3>
2743 <ul>
2744   <li> pgpool\e$B$,%G!<%b%s%b!<%I$G5/F0$5$l$k:]$K!"$9$Y$F$N%U%!%$%k%G%#%9%/%j%W%?$r\e(B
2745            \e$BJD$8$k$h$&$K$7$^$7$?!#$3$&$7$J$$$H!"\e(BpgpoolAdmin\e$B$+$i5/F0$5$l$?:]$K\e(B
2746            apache\e$B$N%=%1%C%H%U%!%$%k$r0z$-7Q$$$G$7$^$$!"\e(B80\e$BHV%]!<%H$,\e(B
2747            \e$B@lM-$5$l$F$7$^$$$^$9\e(B(Akio Ishida)\e$B!#\e(B
2748   <li> \e$B%H%i%s%6%/%7%g%s$r%7%j%"%i%$%:$G$-$J$$%(%i!<$,H/@8$7$?$H$-$K!"\e(B
2749            \e$B$9$Y$F$N\e(BDB\e$B%N!<%I$N%H%i%s%6%/%7%g%s$r%"%\!<%H$9$k$h$&$K$7$^$7$?!#\e(B
2750            \e$B$3$&$7$J$$$H!"\e(BDB\e$B%N!<%I$N4V$G%G!<%?$NIT@09g$,5/$-$k$3$H$,$"$j$^$9\e(B(Tatsuo)\e$B!#\e(B
2751            \e$BNc$r<($7$^$9\e(B(M\e$B$O%^%9%?!"\e(BS\e$B$O%9%l!<%V$r<($7$^$9\e(B)\e$B!#\e(B
2752            <pre>
2753            M:S1:BEGIN;
2754            M:S2:BEGIN;
2755            S:S1:BEGIN;
2756            S:S2:BEGIN;
2757            M:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
2758            M:S2:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
2759            S:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
2760            S:S2:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
2761            M:S1:UPDATE t1 SET i = i + 1;
2762            S:S1:UPDATE t1 SET i = i + 1;
2763            M:S2:UPDATE t1 SET i = i + 1; <-- blocked
2764            S:S1:COMMIT;
2765            M:S1:COMMIT;
2766            M:S2:ERROR:  could not serialize access due to concurrent update
2767            S:S2:UPDATE t1 SET i = i + 1; <-- success in UPDATE and data becomes inconsistent!
2768            </pre>
2769
2770  <li> raw\e$B%b!<%I$G\e(BMD5\e$BG'>Z$,;H$($k$h$&$K$7$^$7$?!#%I%-%e%a%s%H>e$G$O;H$($k$O$:$G$7$?\e(B(Tatsuo)\e$B!#\e(B
2771
2772  <li> "SET TRANSACTION ISOLATION LEVEL must be called before any query"\e$B$N\e(B
2773            \e$B%(%i!<$,H/@8$7$?>l9g$K\e(B"kind mimatch"\e$B%(%i!<$K$J$k$3$H$rKI$0$h$&$K$7$^$7$?\e(B(Tatsuo)\e$B!#\e(B
2774            \e$B0J2<$N%7%J%j%*$GLdBj$,H/@8$7$^$9!#\e(B
2775            <pre>
2776            M:S1:BEGIN;
2777            S:S1:BEGIN;
2778            M:S1:SELECT 1; <-- only sent to MASTER
2779            M:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
2780            S:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
2781            M: <-- error
2782            S: <-- ok since no previous SELECT is sent. kind mismatch error occurs!
2783            </pre>
2784
2785 <li>FreeBSD\e$B$K$*$$$F!"\e(Bps\e$B$G$N\e(Bprocess status\e$B$NI=<($GM>7W$J%9%Z!<%9$,4^$^$l$F$7$^$&$N$r=$@5$7$^$7$?\e(B(Jun Kuriyama)
2786
2787 <li>BEGIN;\e$B$r\e(B2\e$BEYB3$1$k$H\e(Bkind mismatch error\e$B$,H/@8$9$k$N$r=$@5$7$^$7$?\e(B(Tatsuo)
2788
2789 <li>PostgreSQL\e$B$,$?$/$5$s$N\e(BDEBUG\e$B%a%C%;!<%8$r=PNO$9$k>l9g$K!"8m$C$F%(%i!<$H8+$J$9%P%0$r=$@5$7$^$7$?\e(B(Tatsuo)
2790
2791 <li>\e$B%/%(%j$N%-%c%s%;%k$,F0$/$h$&$K$J$j$^$7$?\e(B(Tatsuo)
2792
2793 <li>\e$B%*%s%i%$%s%j%+%P%j$N8e%/%i%$%"%s%H$+$i$N@\B3$r<u$1IU$1$k%?%$%_%s%0$,Aa$9$.$k%P%0$r=$@5$7$^$7$?!#\e(B
2794 \e$B$3$N%P%0$K$h$j!"%N!<%I%G!<%?$N4S@-$,J]$?$l$J$$2DG=@-$,$"$j$^$7$?\e(B(Tatsuo)
2795
2796 <li>SELECT, INSERT, UPDATE, DELETE\e$B0J30$N%3%^%s%I$G$bI,MW$J$i$P%H%i%s%6%/%7%g%s%V%m%C%/$NFbB&$G<B9T$9$k$h$&$K$7$^$7$?!#\e(B
2797 \e$B$3$l$K$h$j!"%(%i!<H/@8$N:]$K%m!<%k%P%C%/$7$F%N!<%I$N@09g@-$rJ]$D$3$H$,$G$-$^$9\e(B(Tatsuo)
2798
2799 <li>\e$B%*%s%i%$%s%j%+%P%j8e!"\e(Bpgpool-II\e$B$N;R%W%m%;%9$,%/%i%C%7%e$9$k$3$H$,$"$k%P%0$r=$@5$7$^$7$?!#\e(B
2800 \e$B$3$l$O!"%*%s%i%$%s%j%+%P%j$N8e!"?7$7$/%"%?%C%A$5$l$?%N!<%I$K@\B3$,$J$$$N$K!"$=$N%N!<%I$K;R%W%m%;%9$,=*N;;~$K=*N;%a%C%;!<%8$r%P%C%/%(%s%I$KAw?.$7$h$&$H$7$F5/$C$F$$$^$7$?\e(B(Tatsuo)
2801
2802 <li>PostgreSQL\e$B$,\e(Bpostgresql.conf\e$B$r:FFI$_9~$_$7$?:]$K\e(Bpgpool\e$B$,%(%i!<$r8!=P$7$F$7$^$&%P%0$r=$@5$7$^$7$?!#\e(B
2803 \e$B$3$l$O!"\e(BPostgreSQL\e$B$,!J$?$V$s!K%I%-%e%a%s%H$K=q$+$l$F$$$J$$%?%$%_%s%0$G!V%Q%i%a!<%?JQ99!W%Q%1%C%H$rAw?.$7$F$/$k$?$a$K5/$j!"=$@5$O$=$N$3$H$KBP1~$7$?$b$N$G$9\e(B(Tatsuo)
2804
2805 </ul>
2806
2807 <h2>2.1 (inamiboshi) 2008/7/25</h2>
2808 <h3>\e$B?75!G=\e(B</h3>
2809 <ul>
2810   <li> failover_command \e$B$H\e(B failback_command \e$B$K!"?7$7$$%^%9%?%N!<%I\e(B ID
2811   \e$B$rI=$9\e(B '%m' \e$B$r%5%]!<%H$7$^$7$?!#\e(B(Yoshiyuki)
2812   <li> failover_command \e$B$H\e(B failback_command \e$B$K!"8E$$%^%9%?%N!<%I\e(B ID \e$B$r\e(B
2813   \e$BI=$9\e(B '%M' \e$B$r%5%]!<%H$7$^$7$?!#\e(B(Yoshiyuki)
2814   <li> \e$B%j%+%P%j$N%?%$%`%"%&%H;~4V$r;XDj$9$k\e(B recovery_timeout \e$B%Q%i%a!<\e(B
2815   \e$B%?$rDI2C$7$^$7$?!#\e(B(Taiki)
2816   <li> pg_md5 \e$B%3%^%s%I$K\e(B -p \e$B%*%W%7%g%s$rDI2C$7$^$7$?!#\e(B(Volkan Yazici,
2817   Taiki)
2818   <li> pgpool -v \e$B$r<B9T$9$k$H%P!<%8%g%sHV9f$rI=<($7!"=*N;$9$k$h$&$K$7\e(B
2819   \e$B$^$7$?!#\e(B(Yoshiyuki)
2820 </ul>
2821
2822 <h3>\e$B8_49@-\e(B</h3>
2823 <ul>
2824   <li> pgpool_recovery \e$B$H\e(B pgpool_remote_start \e$B4X?t$O%9!<%Q!<%f!<%6$N$_<B9T\e(B
2825   \e$B$G$-$k$h$&$K8"8B%A%'%C%/$r6/2=$7$^$7$?!#\e(B(Yoshiyuki)
2826   <li> raw \e$B%b!<%I$G%9%?%s%P%$%N!<%I$K$O%3%M%/%7%g%s%W!<%k$r:n@.$7$J$$\e(B
2827   \e$B$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2828   <li> replication_timeout \e$B%Q%i%a!<%?$r:o=|$7$^$7$?!#\e(B(Yoshiyuki)
2829   <li> PCP \e$B%/%i%$%"%s%H%3%^%s%I$N%?%$%`%"%&%H$rL58z$K$7$^$7$?!#\e(B(Taiki)
2830   <li> replicate_select = false \e$B$N>l9g$K!"\e(BCOPY TO STDOUT \e$B$r%l%W%j%1!<\e(B
2831   \e$B%7%g%s$5$;$J$$$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2832 </ul>
2833
2834 <h3>\e$B=$@5\e(B</h3>
2835 <h4> \e$BA4HL\e(B </h4>
2836 <ul>
2837   <li> CloseComplete \e$B%a%C%;!<%8$r<u$1$H$k$H%/%i%C%7%e$9$kIT6q9g$r=$@5\e(B
2838   \e$B$7$^$7$?!#\e(B(Yoshiyuki)
2839   <li> \e$B%a%C%;!<%8E>Aw=hM}$r8zN($h$/$7$^$7$?!#\e(B(Yoshiyuki)
2840   <li> Solaris 10 \e$B$G%3%s%Q%$%k$G$-$k$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2841   <li> \e$B%X%k%9%A%'%C%/$H%j%+%P%j$N%m%0=PNO$r2~NI$7$^$7$?!#\e(B(Tatsuo)
2842   <li> \e$BMM!9$J%a%b%j%j!<%/$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2843   <li> "failed to read kind from frontend" \e$B$H$$$&%(%i!<%a%C%;!<%8$r\e(B
2844   ERROR\e$B%l%Y%k$+$i\e(B LOG \e$B%l%Y%k$K2<$2$^$7$?!#\e(B(Yoshiyuki)
2845   <li> raw \e$B%b!<%I$G%U%'%$%k%*!<%P$K<:GT$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B
2846   (Taiki)
2847   <li> \e$BIT@5$J%N!<%I$rDI2C!&@Z$jN%$7$r9T$&$H%>%s%S%W%m%;%9$,H/@8$9$kIT\e(B
2848   \e$B6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2849   <li> health_check_timeout \e$B$,@5$7$/F0:n$7$J$$IT6q9g$r=$@5$7$^$7$?!#\e(B
2850   (Kenichi Sawada)
2851   <li> FreeBSD \e$B$G\e(B ps \e$B%3%^%s%I$N=PNO$,@5$7$/$J$$IT6q9g$r=$@5$7$^$7$?!#\e(B
2852   (ISHIDA Akio)
2853   <li> Unix domain \e$B%=%1%C%H$,;D$C$F$$$k>l9g$N%(%i!<%a%C%;!<%8$r6/2=$7\e(B
2854   \e$B$^$7$?!#\e(B(Jun Kuriyama)
2855   <li> \e$BG'>Z$K<:GT$7$?>l9g$N%(%i!<%a%C%;!<%8$r6/2=$7$^$7$?!#\e(B(Tatsuo)
2856 </ul>
2857
2858 <h4>\e$B%l%W%j%1!<%7%g%s\e(B</h4>
2859 <ul>
2860   <li> replicate_select \e$B$r@_Dj$7$F$b!">o$K\e(B false \e$B$N5sF0$K$J$kIT6q9g$r\e(B
2861   \e$B=$@5$7$^$7$?!#\e(B(Tatsuo)
2862   <li> \e$B3HD%Ld$$9g$o$;%W%m%H%3%k$r;H$C$F$$$k$H!"%H%i%s%6%/%7%g%s$r8m$C$F%m!<\e(B
2863   \e$B%k%P%C%/$7$F$7$^$&IT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2864   <li> \e$BHsF14|%/%(%j$r;H$C$F$$$k$H\e(B pgpool \e$B$,IT0BDj$K$J$kIT6q9g$r=$@5$7\e(B
2865   \e$B$^$7$?!#\e(B(Yoshiyuki)
2866   <li> \e$B3HD%Ld9g$;%W%m%H%3%k$r;H$&$H\e(B /* REPLICATION */\e$B$J$I$N%R%s%H6g$,>C$($F\e(B
2867   \e$B$7$^$&IT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2868   <li> DEALLOCATE ALL \e$B$r<B9T$9$k$H%/%i%C%7%e$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B
2869   (Yoshiyuki)
2870   <li> immediate shutdown \e$B$9$k$H%O%s%0%"%C%W$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B
2871   (Yoshiyuki)
2872   <li> \e$B9bIi2Y;~$K%*%s%i%$%s%j%+%P%j$r<B;\$9$k$H!"%j%+%P%j%W%m%;%9$,%O\e(B
2873   \e$B%s%0%"%C%W$9$k2DG=@-$N$"$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2874   <li> \e$B3HD%Ld9g$;%W%m%H%3%k$r;H$C$F\e(B SELECT \e$B$r<B9T$7$?:]$K!"%H%i%s%6%/\e(B
2875   \e$B%7%g%s%V%m%C%/Fb$G%/%(%j$,%(%i!<$K$J$k$H!"\e(Bpgpool \e$B$,%O%s%0%"%C%W$9$k\e(B
2876   \e$B2DG=@-$N$"$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2877 </ul>
2878
2879 <h4>\e$B%^%9%?!<%9%l!<%V\e(B</h4>
2880 <ul>
2881   <li> \e$B%H%i%s%6%/%7%g%s%V%m%C%/Fb$G!"\e(BSET, PREPARE, DEALLOCATE \e$B$r<B9T$9\e(B
2882   \e$B$k$H!"%W%m%;%9$,%@%&%s$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2883   <li> \e$B%^%9%?!<%9%l!<%V%b!<%I$G%m!<%I%P%i%s%9$,@5$7$/F0:n$7$F$$$J$$IT\e(B
2884   \e$B6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2885 </ul>
2886
2887 <h4>\e$B%Q%i%l%k%/%(%j\e(B</h4>
2888 <ul>
2889   <li> INSERT \e$B$K<:GT$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiharu)
2890   <li> FROM \e$B6g$K\e(B AS \e$B$,4^$^$l$k$H9=J8%(%i!<$K$J$kIT6q9g$r=$@5$7$^$7$?!#\e(B(sho)
2891   <li> \e$B%/%(%j$rJ#?t2s<B9T$9$k$H%O%s%0%"%C%W$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiharu)
2892   <li> JOIN \e$B$K<:GT$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiharu)
2893   <li> DISTINCT\e$B9=J8\e(B \e$B$N2r@O$K<:GT$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiharu)
2894 </ul>
2895
2896 <hr>
2897
2898 <h2>2.0.1 (hikitsuboshi) 2007/11/21</h2>
2899 <ul>
2900   <li> UPDATE \e$B$b$7$/$O\e(B DELETE \e$B$r<B9T$9$k$H%W%m%;%9$,%@%&%s$9$kIT6q9g$r\e(B
2901        \e$B=$@5$7$^$7$?!#\e(B(Yoshiyuki) 
2902   <li> master_slave \e$B$r\e(B true \e$B$K@_Dj$7$F$$$k>l9g$K!"\e(BSQL \e$B9=J8%(%i!<$r8!CN\e(B
2903        \e$B$7$?;~$K%^%9%?$K$N$_$=$N%/%(%j$rAw?.$9$k$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2904 </ul>
2905
2906 <hr>
2907
2908 <h2>2.0 (hikitsuboshi) 2007/11/16</h2>
2909 <h3>\e$B8_49@-\e(B</h3>
2910 <ul>
2911   <li> ignore_leading_white_space \e$B$N%G%U%)%k%HCM$r\e(B true \e$B$K$7$^$7$?!#\e(B
2912   (Yoshiyuki)
2913   <li> replicate_strict \e$B$rGQ;_$7$^$7$?!#>o$K\e(B replicate_strict \e$B$,\e(B true
2914   \e$B$N5sF0$K$J$j$^$9!#\e(B(Yoshiyuki)
2915 </ul>
2916
2917 <h3>\e$BA4HL\e(B</h3>
2918 <ul>
2919   <li> pgpool.conf \e$B$r%j%m!<%I$G$-$k$h$&$K$7$^$7$?!#%j%m!<%I;~$KJ,;6%k!<\e(B
2920   \e$B%k$bF1;~$K%j%m!<%I$7$^$9!#\e(B(Yoshiyuki)
2921   <li> SQL \e$B%Q!<%5$r\e(B PostgreSQL 8.3 \e$B$KBP1~$7$^$7$?!#\e(B(Yoshiyuki)
2922   <li> \e$B%N!<%I$r@Z$jN%$7$?:]$K%f!<%6$,@_Dj$7$?%3%^%s%I$r<B9T$G$-$k$h$&\e(B
2923   \e$B$K!"\e(Bpgpool.conf \e$B$K\e(B failover_command \e$B$H$$$&%Q%i%a!<%?$rDI2C$7$^$7$?!#\e(B
2924   (Yoshiyuki)
2925   <li> \e$B%N!<%I$rI|5"$7$?:]$K%f!<%6$,@_Dj$7$?%3%^%s%I$r<B9T$G$-$k$h$&$K!"\e(B
2926   pgpool.conf \e$B$K\e(B failback_command \e$B$H$$$&%Q%i%a!<%?$rDI2C$7$^$7$?!#\e(B
2927   (Yoshiyuki)
2928   <li> pgpool.conf \e$B$K\e(B client_idle_limit \e$B$H$$$&%Q%i%a!<%?$rDI2C$7$^$7$?!#\e(B
2929   \e$B$3$N%Q%i%a!<%?$G$O%/%i%$%"%s%H$+$i$N%/%(%j$N:GBgBT$A;~4V$r@_Dj$9$k$3\e(B
2930   \e$B$H$,$G$-$^$9!#\e(B(Tatsuo)
2931 </ul>
2932
2933 <h3>\e$B%l%W%j%1!<%7%g%s\e(B</h3>
2934 <ul>
2935   <li> \e$B%H%i%s%6%/%7%g%s%V%m%C%/$K0O$^$l$F$$$J$$%/%(%j$r%l%W%j%1!<%7%g\e(B
2936   \e$B%s$5$;$k>l9g!"FbItE*$K%H%i%s%6%/%7%g%s$r3+;O$5$;$k$h$&$K$7$^$7$?!#\e(B
2937   (Yoshiyuki)
2938   <li> \e$B%l%W%j%1!<%7%g%s$r9bB.2=$5$;$k$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2939   <li> \e$B%N!<%I$r:FF14|$5$;$FI|5"$5$;$k!"%*%s%i%$%s%j%+%P%j5!G=$r<BAu$7\e(B
2940   \e$B$^$7$?!#\e(B(Yoshiyuki)
2941   <li> INSERT, UPDATE, DELETE \e$B$7$?9T?t$,$9$Y$F0lCW$7$J$+$C$?>l9g$K!"%H\e(B
2942   \e$B%i%s%6%/%7%g%s$r%"%\!<%H$5$;$k$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2943 <pre>
2944    x=# update t set a = a + 1;
2945    ERROR:  pgpool detected difference of the number of update tuples
2946    HINT:  check data consistency between master and other db node
2947 </pre>
2948   <li> \e$BJ#?t$N%P%C%/%(%s%I$+$i0[$J$k7k2L$,JV$C$F$-$?>l9g$K!"F1$87k2L$,\e(B
2949   \e$BB??tJV$C$F$-$?7k2L$r?.Mj$9$kB??t7hJ}<0$r<BAu$7$^$7$?!#\e(B(Yoshiyuki)
2950   <li> V2 \e$BLd9g$;%W%m%H%3%k$G%m!<%I%P%i%s%9$G$-$k$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2951 </ul>
2952
2953 <h3>\e$B%Q%i%l%k%/%(%j\e(B</h3>
2954 <ul>
2955   <li> \e$B%Q%i%l%k%b!<%I$GItJ,%l%W%j%1!<%7%g%s$r%5%]!<%H$7$^$7$?!#\e(B(Yoshiharu)
2956 </ul>
2957
2958 <hr>
2959
2960 <h2>1.3 (sohiboshi) 2007/10/23</h2>
2961 <ul>
2962   <li> \e$B?7$7$/\e(B authentication_timeout \e$B$H$$$&%Q%i%a!<%?$rDI2C$7$^$7$?!#\e(B(Yoshiyuki)
2963     <ul>
2964      <li>\e$B$3$N%Q%i%a!<%?$G$OG'>Z;~4V$N%?%$%`%"%&%H$r@_Dj$7$^$9!#\e(B 
2965      <li>\e$B%G%U%)%k%HCM$O\e(B 60 (1 \e$BJ,\e(B)\e$B$G$9!#\e(B
2966    </ul>
2967   <li> \e$B%9%?!<%H%"%C%W%Q%1%C%H$ND9$5$,\e(B 10000 \e$B%P%$%H1[$($F$$$k>l9g$K$O!"@\B3$r@ZCG$9$k$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2968   <li> DEALLOCATE \e$B$r<B9T$9$k$H$^$l$KIT@5$J%a%b%j%"%/%;%9$,H/@8$9$kIT6q\e(B
2969        \e$B9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2970   <li> \e$B%H%i%s%6%/%7%g%sFb$G\e(B SELECT \e$B$r<B9T$7$?8e$K\e(B SELECT \e$B$r@5$7$/%m!<%I%P%i\e(B
2971        \e$B%s%9$G$-$J$$IT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2972        <ul>
2973         <li> \e$B$3$NIT6q9g$O\e(B 1.2 \e$B$G:.F~$7$?IT6q9g$G$9!#\e(B
2974        </ul>
2975   <li> 64bit \e$B4D6-$G%/%(%j%-%c%C%7%e5!G=$rM-8z$K$9$k$H!"%/%i%C%7%e$9$k2DG=@-$N$"$kIT6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki)
2976 </ul>
2977
2978 <hr>
2979
2980 <h2>1.2.1 (tomoboshi) 2007/09/28</h2>
2981 <ul>
2982   <li> \e$B3HD%Ld9g$;%W%m%H%3%k$N\e(B Parse \e$B%a%C%;!<%8$N=hM}$G%G%C%I%m%C%/$,H/\e(B
2983   \e$B@8$9$k2DG=@-$,$"$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2984
2985   <li> Prepared statement \e$B$r4IM}$9$kNN0h$,%a%b%j%j!<%/$7$F$$$kIT6q9g$r\e(B
2986   \e$B=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2987
2988   <li> \e$B0lIt$N\e(B OS \e$B$G%3%s%Q%$%k%(%i!<$K$J$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
2989
2990   <li>master/slave \e$B%b!<%IFb$G\e(B SET, PREPARE, DEALLOCATE \e$BJ8$r%l%W%j%1!<%7%g%s$5$;$k$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
2991 </ul>
2992
2993 <hr>
2994
2995 <h2>1.2 (tomoboshi) 2007/08/01</h2>
2996 <ul>
2997   <li> pgpool.conf \e$B$K\e(B replicate_select \e$B$H$$$&?75,%Q%i%a!<%?$rDI2C$7$^\e(B
2998   \e$B$7$?!#%G%U%)%k%HCM$O\e(B false \e$B$G$9!#\e(B(Yoshiyuki)
2999   <ul>
3000     <li> true \e$B$K@_Dj$7$?>l9g$O!"%m!<%I%P%i%s%9$5$l$J$$\e(B SELECT \e$BJ8$r%l%W\e(B
3001     \e$B%j%1!<%7%g%s$7$^$9\e(B(pgpool-II 1.0 \e$B$N5sF0\e(B)\e$B!#\e(Bfalse \e$B$N>l9g$O%^%9%?$K$N\e(B
3002     \e$B$_\e(B SELECT \e$B$rAw?.$7$^$9!#\e(B
3003   </ul>
3004
3005   <li> \e$B%7%0%J%k=hM}$r0BA4$K9T$&$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
3006   <ul>
3007     <li>\e$B$^$l$K%>%s%S%W%m%;%9$,;D$C$F$7$^$C$?$j!"IT0BDj$K$J$k$3$H$,$"$j$^$7$?!#\e(B
3008   </ul>
3009   
3010   <li> \e$B%H%i%s%6%/%7%g%sCf$K\e(B SELECT \e$BJ8$,%(%i!<$K$J$k$H!"%O%s%0%"%C%W$7\e(B
3011   \e$B$F$7$^$&IT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
3012   <ul>
3013     <li> \e$B$3$NIT6q9g$O\e(B 1.1 \e$B$KF~$C$?IT6q9g$G$9!#\e(B
3014   </ul>
3015
3016   <li> PREPARE/EXECUTE \e$B$,\e(B master/slave \e$B%b!<%I$G@5$7$/F0:n$7$J$$IT6q9g\e(B
3017   \e$B$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
3018
3019   <li> \e$B%G%C%I%m%C%/$r8!CN$9$k$H!"\e(Bkind mismatch error \e$B$,H/@8$9$kIT6q9g\e(B
3020   \e$B$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
3021
3022   <li> \e$B3HD%Ld$$9g$o$;%W%m%H%3%k$r;H$C$?%I%i%$%P$r;HMQ$7$?>l9g$K!"9=J8\e(B
3023         \e$B2r@O;~$K7Y9p$,H/@8$9$k\e(B SQL \e$BJ8$r<B9T$9$k$H%O%s%0%"%C%W$b$7$/$O\e(B
3024         \e$B%W%m%;%9$,%/%i%C%7%e$9$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
3025
3026   <li> \e$B%3%M%/%7%g%s%-%c%C%7%e$,0lGU$K$J$k$H%a%b%j%j!<%/$,H/@8$9$kIT6q\e(B
3027   \e$B9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
3028
3029   <li> \e$B%;%C%7%g%s$,;D$C$?>uBV$G\e(B PostgreSQL \e$B$r\e(B fast shutdown \e$B$b$7$/$O\e(B
3030   immediate shutdown \e$B$9$k$H!";D$C$?%;%C%7%g%s$,%O%s%0%"%C%W$9$kIT6q9g\e(B
3031   \e$B$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
3032
3033   <li> \e$B%m!<%I%P%i%s%9@h$r@\B33+;O;~$K7hDj$7!"F1$8%;%C%7%g%sFb$G$O$9$Y\e(B
3034   \e$B$FF1$8%N!<%I$K%/%(%j$rAw?.$9$k$h$&$K$7$^$7$?!#\e(B(Yoshiyuki)
3035
3036   <li> connection_life_time \e$B$r@_Dj$7$F$$$k>l9g$K%P%C%U%!%*!<%P%i%s$,H/\e(B
3037   \e$B@8$9$k2DG=@-$,$"$kIT6q9g$r=$@5$7$^$7$?!#\e(B(Yoshiyuki)
3038
3039 </ul>
3040
3041 <hr>
3042
3043 <h2>1.1.1 (amiboshi) 2007/06/15</h2>
3044 <ul>
3045   <li> load_balance_mode \e$B$rM-8z$K$7$F$$$k$H!"\e(B"kind mismatch" \e$B%(%i!<$,\e(B
3046   \e$BH/@8$7$F$7$^$&IT6q9g$r=$@5$7$^$7$?!#$3$l$O\e(B 1.1 \e$B$GF~$C$?IT6q9g$G$9!#\e(B
3047   (Yoshiyuki)
3048   <li> \e$B%W%m%H%3%k%P!<%8%g%s\e(B 2 \e$B$r;H$C$?%I%i%$%P$G%l%W%j%1!<%7%g%s;HMQ$9\e(B
3049   \e$B$k$H!"\e(Bpgpool \e$B$,%O%s%0%"%C%W$9$kIT6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki)
3050   <li> \e$B3HD%Ld9g$;%W%m%H%3%k$r;HMQ$9$k$H!"$^$l$K%G%C%I%m%C%/$,H/@8$9$k\e(B
3051   \e$BIT6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki)
3052 </ul>
3053
3054 <hr>
3055
3056 <h2>1.1 (amiboshi) 2007/05/25</h2>
3057 <ul>
3058   <li> HBA \e$BG'>Z$r%5%]!<%H$7$^$7$?\e(B(Taiki)
3059   <li> log_connections \e$B$r%5%]!<%H$7$^$7$?\e(B(Taiki)
3060   <li> log_hostname \e$B$r%5%]!<%H$7$^$7$?\e(B(Taiki)
3061   <li> ps \e$B%3%^%s%I$G\e(B pgpool \e$B$N>uBV$,$o$+$k$h$&$K$7$^$7$?\e(B(Taiki)
3062   <li> MacOS X \e$B$G%3%s%Q%$%k%(%i!<$K$J$kIT6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki)
3063   <li> \e$B3HD%Ld$$9g$o$;%W%m%H%3%k$r;H$C$?%/%(%j$r%m!<%I%P%i%s%9$G$-$k$h\e(B
3064   \e$B$&$K$7$^$7$?\e(B(Yoshiyuki)
3065   <li> \e$B%l%W%j%1!<%7%g%s@_Dj;~!"\e(BSELECT \e$B$O\e(B master \e$B$K$N$_Aw?.$9$k$h$&$K$7\e(B
3066   \e$B$^$7$?\e(B(Yoshiyuki)
3067     <ul>
3068       <li> \e$B$b$7\e(B SELECT \e$B$r%l%W%j%1!<%7%g%s$5$;$k>l9g$O\e(B /*REPLICATION*/
3069       \e$B$N$h$&$K\e(B SELECT \e$B$NA0$K%3%a%s%H$rIU$1$kI,MW$,$"$j$^$9\e(B
3070     </ul>
3071   <li> \e$B%l%W%j%1!<%7%g%s@_Dj;~!"\e(BSELECT nextval() \e$B$*$h$S\e(B SELECT setval()
3072   \e$B$r<+F0E*$K%l%W%j%1!<%7%g%s$5$;$k$h$&$K$7$^$7$?\e(B(Yoshiyuki)
3073   <li> \e$B%P%C%/%(%s%I$X@\B3Cf$K%7%0%J%k$K3d$j9~$^$l$k$H!"%U%'%$%k%*!<%P\e(B
3074   \e$B$7$F$7$^$&IT6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki)
3075   <li> PAM \e$BG'>Z$N%5%s%W%k%U%!%$%k\e(B pgpool.pam \e$B$r\e(B
3076   $PREFIX/share/pgpool-II/ \e$B$K%$%s%9%H!<%k$9$k$h$&$K$7$^$7$?\e(B(Taiki)
3077   <li> \e$B5pBg$J\e(B SQL \e$B$r<B9T$7$h$&$H$7$?>l9g$K\e(B pgpool \e$B$,L58B%k!<%W$KF~$kIT\e(B
3078   \e$B6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki) 
3079 </ul>
3080
3081 <hr>
3082
3083 <h2>1.0.2 (suboshi) 2007/02/13</h2>
3084 <ul>
3085   <li> \e$B5pBg$J\e(B SQL \e$B$r<B9T$7$h$&$H$7$?>l9g$K\e(B pgpool \e$B$,L58B%k!<%W$KF~$kIT\e(B
3086   \e$B6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki) 
3087   <li> \e$B3HD%Ld9g$;%W%m%H%3%k$r;H$C$?>l9g$K$^$l$K\e(B pgpool \e$B$,;_$^$C$F$7$^\e(B
3088   \e$B$&IT6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki) 
3089   <li> \e$B%U%'%$%k%*!<%P!"%U%'%$%k%P%C%/;~$N%m%0=PNO$r2~A1$7$^$7$?\e(B
3090   (Tatsuo)
3091   <li> SHOW pool_status \e$B$N7k2L$K%P%C%/%(%s%I%9%F!<%?%9>pJs$rDI2C$7$^$7\e(B
3092   \e$B$?\e(B(Tatsuo)
3093   <li> \e$B%l%W%j%1!<%7%g%s;~$K\e(B UPDATE/DELETE \e$B$N7o?t$,<B:]$N7o?t$H$O0[$J$C\e(B
3094   \e$B$?7k2L$rJV$9IT6q9g$r=$@5$7$^$7$?\e(B(Tatsuo)
3095   <li> \e$B8E$$\e(B gcc \e$B$r;H$&$H\e(B libpq \e$B$N%j%s%/$K<:GT$9$kIT6q9g$r=$@5$7$^$7$?\e(B
3096   (Yoshiyuki)
3097   <li> PHP:PDO \e$B$d\e(B DBD-Pg \e$B$r;H$C$?>l9g$K!"<+F0\e(B DEALLOCATE \e$B$,<:GT$7$F$7\e(B
3098   \e$B$^$&IT6q9g$r=$@5$7$^$7$?\e(B(Yoshiyuki)
3099   <li> SELECT FOR UPDATE, SELECT INTO \e$B$r%m!<%I%P%i%s%9$5$;$J$$$h$&$K$7\e(B
3100   \e$B$^$7$?!#$^$?!"\e(BSELECT \e$B$NA0$K%3%a%s%H$,$"$k>l9g$b%m!<%I%P%i%s%9$5$;$J\e(B
3101   \e$B$$$h$&$K$7$^$7$?!#$3$l$O\e(B pgpool-I \e$B$H$N8_49@-$N$?$a$G$9!#\e(B(Yoshiyuki)
3102   <li> configure \e$B;~$N\e(B libpq \e$B$N%G%U%)%k%H%Q%9$r\e(B pg_config \e$B%3%^%s%I$r;H$C\e(B
3103   \e$B$F<hF@$9$k$h$&$K$7$^$7$?!#$J$*!"\e(B--with-pgsql \e$B4XO"$N%*%W%7%g%s$O<!$N\e(B
3104   \e$B%P!<%8%g%s$G$OGQ;_M=Dj$G$9\e(B(Yoshiyuki)
3105   <li> \e$B%3%M%/%7%g%s%W!<%k:FMxMQ;~$K!"%=%1%C%H$,2u$l$F$$$k>l9g$O:F@\B3\e(B
3106   \e$B$9$k$h$&$K$7$^$7$?\e(B(Yoshiyuki)
3107   <li> PostgreSQL 7.4.x \e$B$N\e(B libpq \e$B$r;H$C$F%S%k%I$7$h$&$H$9$k$H!"\e(B
3108   configure \e$B%9%/%j%W%H$G%(%i!<$H$J$C$F$7$^$&IT6q9g$r=$@5$7$^$7$?\e(B
3109   (Yoshiyuki)
3110 </ul>
3111
3112 <div class="copyright">
3113 <hr>
3114 <copyright>
3115 Copyright &copy; 2003 &ndash; 2008 PgPool Global Development Group
3116 </copyright>
3117 </div>
3118 </body>
3119 </html>