]> granicus.if.org Git - postgresql/blob - doc/src/FAQ/FAQ_japanese.html
650c855ad930c935d7e880f6d2b6db713c64bb3c
[postgresql] / doc / src / FAQ / FAQ_japanese.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>PostgreSQL FAQ in Japanese</TITLE>
5 </HEAD>
6 <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#A00000" ALINK="#0000FF">
7 <META http-equiv="Content-Type" content="text/html; charset=utf-8">
8
9 <div id="pgContentWrap">
10
11 <h1>PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</h1>
12 <p>原文最終更新日:       Mon Mar  3 11:22:50 EST 2008</p>
13 <p>現在の維持管理者:    Bruce Momjian (<A
14 href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br />
15 Maintainer of Japanese Translation:     Jun Kuwamura (<A
16 href="mailto:juk at postgresql.jp">juk at postgresql.jp</a>)<br /></p>
17 <p>この文書の最新版は<a href=
18     "http://www.postgresql.org/docs/faqs.FAQ.html">
19     http://www.postgresql.org/docs/faqs.FAQ.html</a>
20 で見ることができます。</p>
21 <p>プラットホームに特有の質問については:<a href=
22     "http://www.postgresql.org/docs/faq/">
23     http://www.postgresql.org/docs/faq/</a>
24 <br />
25 に解答があります。</p>
26
27 <p><small><pre>
28 (以下、訳者による注釈を [訳注: と ] とで囲んで記します。)
29 [訳注:
30         日本語版のFAQは、
31                 http://www.postgresql.org/docs/faqs.FAQ_japanese.html
32         にあります。
33         最新の日本語版については、この文書の最後にある<a
34         href="#item-japanese">「日本語版について」</a>をごらんください。
35
36 ]
37 </pre></small></p>
38
39 <hr />
40
41 <h2 align="center">一般的な質問</h2>
42
43 <a href="#item1.1">1.1</a>) PostgreSQLとは何ですか? その呼び方は? Postgresとは?<br />
44 <a href="#item1.2">1.2</a>) 誰が PostgreSQL をコントロールしていますか?<br />
45 <a href="#item1.3">1.3</a>) PostgreSQLの著作権はどうなってますか?<br />
46 <a href="#item1.4">1.4</a>) PostgreSQLをサポートするプラットホームは?<br />
47 <a href="#item1.5">1.5</a>) PostgreSQLはどこから入手できますか?<br />
48 <a href="#item1.6">1.6</a>) 最新のリリースはどれですか?<br />
49 <a href="#item1.7">1.7</a>) サポートはどこで受けられますか?<br />
50 <a href="#item1.8">1.8</a>) バグレポートはどのように発信しますか?<br />
51 <a href="#item1.9">1.9</a>) 既知のバグや未だ無い機能はどうやって見つけますか?<br />
52 <a href="#item1.10">1.10</a>) どのような文書がありますか?<br />
53 <a href="#item1.11">1.11</a>) <small>SQL</small>はどうすれば学べますか?<br />
54 <a href="#item1.12">1.12</a>) パッチを提供したり、開発チーム参加するにはどうすればよいですか?<br />
55 <a href="#item1.13">1.13</a>) 他の<small>DBMS</small>と比べてPostgreSQLはどうなのですか?<br />
56 <a href="#item1.14">1.14</a>) PostgreSQLは国毎の最新の夏時間の変更を扱いますか?<br />
57 <a href="#item1.15">1.15</a>) PostgreSQLのメーリングリストの購読をやめるにはどうすればよいですか?また、電子メールを重複して受け取らないようにするにはどうしますか?<br />
58
59 <h2 align="center">ユーザ・クライアントの質問</h2>
60
61 <a href="#item2.1">2.1</a>) PostgreSQL にはどんなインターフェースが使えますか?<br />
62 <a href="#item2.2">2.2</a>) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?<br />
63 <a href="#item2.3">2.3</a>) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?<br />
64
65
66 <h2 align="center">管理上の質問</h2>
67
68 <a href="#item3.1">3.1</a>) どうすれば、PostgreSQLを<i>/usr/local/pgsql</i> 以外の場所にインストールできますか?<br />
69 <a href="#item3.2">3.2</a>) 他のホストからの接続はどのように制御しますか?<br />
70 <a href="#item3.3">3.3</a>) より良い性能を得るためには、データベース・エンジンをどのように調整しますか?<br />
71 <a href="#item3.4">3.4</a>) どのようなデバグ機能が使えますか?<br />
72 <a href="#item3.5">3.5</a>) 接続しようとするときに <i>'Sorry, too many clients'</i> が出るのはなぜですか?<br />
73 <a href="#item3.6">3.6</a>) PostgreSQLのアップグレードの手順はどうなりますか?<br />
74 <a href="#item3.7">3.7</a>) ハードウェアにはどのようなコンピュータを使えばよいですか?<br />
75
76
77 <h2 align="center">操作上の質問</h2>
78
79 <a href="#item4.1">4.1</a>) 最初のいくつかのロウのみを <small>select</small> するにはどうしますか? ランダムなロウ? <br />
80 <a href="#item4.2">4.2</a>) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?<br />
81 <a href="#item4.3">4.3</a>) カラムのデータタイプを変更するにはどうしますか?<br />
82 <a href="#item4.4">4.4</a>) ロウ、テーブル、データベースの最大サイズは?<br />
83 <a href="#item4.5">4.5</a>) 一般的なテキストファイルのデータを保存するには、データベースのディスク容量はどのくらい必要ですか?<br />
84 <a href="#item4.6">4.6</a>) クエリが遅いのはなぜでしょう? なぜ、インデックスが使われないのでしょうか?<br />
85 <a href="#item4.7">4.7</a>) クエリオプティマイザが、どのようにクエリを評価していかを、見るにはどうしますか?<br />
86 <a href="#item4.8">4.8</a>) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使いますか?<br />
87 <a href="#item4.9">4.9</a>) クエリの中で、フィールドが
88 <small>NULL</small> であることを検出するにはどうしますか?
89 <small>NULL</small>の可能性のあるものをどのようすれば連結できますか? 
90 フィールドが<small>NULL</small>かどうかでどのようにソートができますか?<br />
91 <a href="#item4.10">4.10</a>) いろいろな文字型のそれぞれの違いは何ですか?<br />
92 <a href="#item4.11.1">4.11.1</a>) 通番(serial)/自動増分フィールドはどのようにつくりますか?<br />
93 <a href="#item4.11.2">4.11.2</a>) <small>SERIAL</small>データ型に挿入される値は、どうすれば得られますか?<br />
94 <a href="#item4.11.3">4.11.3</a>) <i>currval()</i> は他のユーザとの競合状態に陥ることはないですか?<br />
95 <a href="#item4.11.4">4.11.4</a>) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?<br />
96 <a href="#item4.12">4.12</a>) <small>OID</small> とは何ですか? <small>TID</small> とは何ですか?<br />
97 <a href="#item4.13">4.13</a>) エラーメッセージ <i>"ERROR: Memory exhausted in AllocSetAlloc()"</i>が出るのはなぜですか?<br />
98 <a href="#item4.14">4.14</a>) どのバージョンの PostgreSQL を走らせているのかを調べるにはどうしますか?<br />
99 <a href="#item4.15">4.15</a>) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?<br />
100 <a href="#item4.16">4.16</a>) <i>外部</i>結合(<i>outer</i> join)はどのように実現しますか?<br />
101 <a href="#item4.17">4.17</a>) 複数のデータベースを使う問い合わせはどのようにすればできますか?<br />
102 <a href="#item4.18">4.18</a>) 関数から複数のロウまたはカラムを返すにはどうしますか?<br />
103 <a href="#item4.19">4.19</a>)  PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?<br />
104 <a href="#item4.19">4.20</a>) どのようなレプリケーションのソリューションがありますか?<br />
105 <a href="#item4.20">4.21</a>) テーブルとカラムの名前がクエリーの中で認識
106 されないのはなぜですか? なぜ大文字化(キャピタライズ)は温存されないのですか?<br />
107
108 <h2 align="center">日本語に関する質問</h2>
109
110 <a href="#item5.1">5.1</a>) 日本語がうまく扱えないのはなぜですか?<br />
111 <a href="#item5.2">5.2</a>) psql でWindowsからアクセスしたときに、日本語が文字化けするのですが?<br />
112 <a href="#item5.3">5.3</a>) PostgreSQLで日本語の全文検索はできますか?<br />
113
114
115 <hr />
116
117 <h2 align="center">一般的な質問</h2>
118
119 <h4 id="item1.1">1.1</a>) PostgreSQLとは何ですか? その呼び方は? Postgresとは?</h4>
120
121     <p>PostgreSQLは<i>Post-Gres-Q-L</i>(ポスト・グレス・キュー・エル) 
122     と発音しますが、会話の中では単純に <i>Postgres</i> と呼ばれることも
123     あります。("PostgreSQL"をどう発音するか気になる人のために、
124      <a href="http://www.postgresql.org/files/postgresql.mp3">
125     音声ファイル</a>を用意してあります。</p>
126
127     <p>PostgreSQL はオブジェクト-リレーショナルデータベースシステムで、
128     伝統的な商用データベースシステムに、次世代<small>DBMS</small>システ
129     ムに見られるような改良が施された特徴を有します。PostgreSQLは、無料で
130     完全なソースコードを手に入れることができます。</p>
131
132     <p>PostgreSQL の開発は、ほとんどが、世界中にひろがったボランティアの
133     開発者によって、インターネットを通したコミュニケーションによって行わ
134     れています。コミュニティによるプロジェクトであるため、どの企業の制御
135     もうけません。開発に参加したければ、<a href=
136     "http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
137     http://www.postgresql.org/docs/faqs.FAQ_DEV.html</a>
138     にある開発者のFAQを見てください。
139     </p>
140
141     <p>PostgresはPostgreSQLの広く使われている愛称です。また、バークレー
142     でのプロジェクトでもともと使われていた名前で、ほかのいずれの愛称に
143     比べても遥かに好ましいです。'PostgreSQL' の発音が難しいと思うのであ
144     れば、そのかわりに 'Postgres' と呼ぶようにしましょう。</p>
145
146
147 <h4 id="item1.2">1.2</a>) 誰が PostgreSQL をコントロールしていますか?</h4>
148
149     <p>PostgreSQLの門番、中央委員会、あるいは、コントロールをする会社を
150       探そうとしても、諦めざるをえず ---- 存在しないのです。我々は、中心
151       となるコミッティとCVSコミッタを持ちますが、これらのグループはコン
152       トロールするためというよりも、管理上のものです。ここでは、プロジェ
153       クトは、だれでも参加ができる開発者とユーザのコミュニティにより方向
154       付けられます。読者がやらなければならないことは、メーリングリストを
155       サブスクライブして、議論に 参加することです。(<a
156       href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">Developer's
157       FAQ</a>には、PostgreSQL開発に加わり方についての情報があります。)</p>
158
159
160 <h4 id="item1.3">1.3</a>) PostgreSQL の著作権はどうなってますか?</h4>
161
162     <p> PostgreSQL は下記の著作権に従います。</p>
163     <p> PostgreSQLは古くからのBSDライセンスの下で配布されています。それ
164       は基本的には、利用者がそのコードを好き勝手に利用することが許されて
165       います。制限があるとすれば、このソフトウェアに伴ういかなる問題にお
166       いても法的に責任を我々に負わせることができないということです。
167       また、この著作権表示がこのソフトウェアのすべての複製に表示すること
168       も必要です。以下に、我々が実際に使っているBSD使用許諾書を示します:
169 </p>
170
171     <small><pre>
172     [訳注:
173         正文は英語です。参考として、訳文を併記掲載します。
174     ]
175     </pre></small>
176     <p>PostgreSQL Data Base Management System</p>
177     <p>
178     Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
179     Portions Copyright (c) 1994-1996 Regents of the University of California</p>
180     <p>
181     Permission to use, copy, modify, and distribute this software and its
182     documentation for any purpose, without fee, and without a written
183     agreement is hereby granted, provided that the above copyright notice
184     and this paragraph and the following two paragraphs appear in all
185     copies.</p>
186     <p>
187     IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
188     FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
189     INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
190     DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF
191     THE POSSIBILITY OF SUCH DAMAGE.</p>
192     <p>
193     THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
194     INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
195     AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER
196     IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO
197     OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
198     MODIFICATIONS.</p>
199
200     <small><pre>
201         POSTGRESQL データベース管理システム
202
203         部分的著作権 (c) 1996-2008, PostgreSQL国際開発チーム
204         部分的著作権 (c) 1994-1996 カリフォルニア大学本校
205
206
207           本ソフトウェアおよびその文書一式は上記の著作権表示と、この文章
208         およびこれに続く二つの段落が全ての複製に添付されている限りにおい
209         て、使用、複製、修正および配付の許可を、いかなる目的であっても、
210         無償でかつ同意書無しに行なえることをここに認めます。
211         
212           カリフォルニア大学は、いかなる当事者にたいしても、利益の壊失を
213         含む、直接的、間接的、特別、偶然あるいは必然的にかかわらず生じた
214         損害について、たとえカリフォルニア大学がこれらの損害について訴追
215         を受けていたとしても、一切の責任を負いません。
216         
217           カリフォルニア大学は、商用目的における暗黙の保証と、特定目的で
218         の適合性に関してはもとより、これらに限らず、いかなる保証も放棄す
219         ることを明言します。以下に用意されたソフトウェアは「そのまま」を
220         基本原理とし、カリフォルニア大学はそれを維持、支援、更新、改良あ
221         るいは修正する義務を負いません。
222
223     [訳注:
224         著作権に関する正文は上記の英語による表記です。日本語訳はあくまで
225         参考程度としてください。
226     ]
227     </pre></small>
228
229 <h4 id="item1.4">1.4</a>) PostgreSQLをサポートするプラットホームは?</h4>
230
231     <p>一般的に、最近のUnix互換プラットホームであればPostgreSQLを稼働さ
232     せられるはずです。リリースの時点で実際にテストを行なったことの報告が
233     なされたプラットホームについてはインストール手引書に列挙してあります。
234     </p>
235
236     <p>PostgreSQL は、Win2000 SP4, WinXP, そして、Win2003 など Microsoft
237     Windows NTベースのオペレーティングシステムで、ネイティブに走ります。
238     あらかじめパッケージにされたインストーラが<a href= 
239     "http://www.postgresql.org/ftp/win32/">
240     http://www.postgresql.org/ftp/win32/</a>
241     からダウンロードできます。
242     MSDOSベースのWindowsのバージョン(Win95, Win98, WinMe)では、Cygwinを
243     使って PostgreSQL を走らせることができます。</p>
244
245     <small><pre>
246     [訳注
247         日本語での情報は、次の Windows版に関するFAQの和訳をごらんくださ
248     い(やや古いです)。
249         http://old.postgresql.jp/wg/jpugdoc/FAQ_windows.ja.html
250     ]
251     </pre></small>
252
253     <p>次のサイトに Novell Netware 6 への移植版もあります。
254     <a href="http://forge.novell.com">http://forge.novell.com</a>
255     また、OS/2 (eComStation) バージョンは、<a href=
256     "http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F">
257     http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F</a>にあります。</p>
258 <br />
259
260
261 <h4 id="item1.5">1.5</a>) PostgreSQL はどこから入手できますか?</h4>
262
263     <p>Webブラウザ経由だと、<a href="http://www.postgresql.org/ftp/">
264     http://www.postgresql.org/ftp/</a>、それから、ftp経由だと、
265     <a href="ftp://ftp.postgresql.org/pub/">
266     ftp://ftp.postgresql.org/pub/</a> を使います。</p>
267
268
269 <h4 id="item1.6">1.6</a>) 最新のリリースはどれですか?</h4>
270
271     <p>PostgreSQL の最新版はバージョン 8.3 です。</p>
272     <p>我々は、1年毎にメジャーリリースを、数ヵ月ごとのマイナーリリースを
273     行なうことを計画しています。</p>
274
275     <p><small><pre>
276     [訳注
277         バージョン番号の x.y.z の最初の x.y がメジャーリリースの番号に相
278         当し、最後の z がマイナーリリースの番号になります。メジャーリリー
279         スの番号が同じであれば、データベース・クラスタに互換性があります。
280     ]
281     </pre></small></p>
282
283
284 <h4 id="item1.7">1.7</a>) サポートはどこで受けられますか?</h4>
285
286     <p>PostgreSQL コミュニティは多くのユーザのために、電子メール経由の支
287     援を提供しています。電子メールリストをサブスクライブするためのメイン
288     となるウェブサイトは
289     <a href="http://www.postgresql.org/community/lists/">
290     http://www.postgresql.org/community/lists/</a>です。これから、始める
291     のであれば <i>general</i> または、<i>bugs</i> といったリストがよいで
292     しょう。</p>
293
294     <p>メジャーなIRC チャンネルは、Freenode (<i>irc.freenode.net</i>)の
295     <i>#postgresql</i> というチャンネルです。UNIX コマンドでは、
296     <code>irc -c '#PostgreSQL' "$USER" irc.freenode.net</code> を使って
297     参加できます。同じネットワークに、スペイン語のチャンネル
298     (<i>#postgresql-es</i>)、フランス語のチャンネル
299     (<i>#postgresqlfr</i>)、ブラジル語チャンネル (<i>#postgresql-br</i>)
300     もあります。また、EFNetにもPostgreSQLチャンネルがあります。</p>
301
302     <p><small><pre>
303     [訳注:
304           1999年7月23日、日本ポストグレスユーザー会、略称JPUGが設立されました。
305         JPUG は非営利組織で、PostgreSQLを利用する人達の相互協力の場となっています。  
306         (2006年 特定非営利活動(NPO)法人日本PostgreSQLユーザ会になりました。
307         Web会員と正会員の会費は無料ですが、協賛会員の会費と会員の貢献で
308           会は運営されています。)
309         詳しくは、JPUG のWeb サイト:
310                 <a href="http://www.postgresql.jp/">http://www.postgresql.jp/</a>
311         をごらんください。
312
313         日本語のIRCチャンネル '#PostgreSQL:*.jp' も存在します。
314     ]
315     </pre></small></p>
316
317     <p>商用サポート会社のリストは<a
318     href="http://www.postgresql.org/support/professional_support">
319     http://www.postgresql.org/support/professional_support</a>にあります。</p>
320
321
322 <h4 id="item1.8">1.8</a>) バグレポートはどのように発信しますか?
323 </h4>
324
325     <p><a href=
326     "http://www.postgresql.org/support/submitbug">
327     http://www.postgresql.org/support/submitbug</a>
328     のPostgreSQL バグフォームを訪れてください。 バグレポートを提出する仕方
329     についての手引と指針があります。</p>
330
331     <p> それと同時に ftp サイト <A
332     href="ftp://ftp.postgresql.org/pub/">ftp://ftp.postgresql.org/pub/</a>
333     で、最新バージョンの PostgreSQL を探してみてください。</p>
334
335
336 <h4 id="item1.9">1.9</a>) 既知のバグや未だ無い機能はどうやって見つけますか?
337 </h4>
338
339     <p>PostgreSQLは拡張された<small>SQL:2003</small>のサブセットをサポート
340     します。我々のページの <A
341     href="http://www.PostgreSQL.org/docs/todo.html">TODO</a> リストに、
342     既知のバグや欠落機能や将来計画についての記述があります。</p> 
343
344
345     <p>特徴の要求は普通次のいずれかの解答の中にあります:</p>
346     <ul>
347    <li>既にここにある機能は、
348     <a href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</a>
349     リストです</li>
350     <li>次のような機能は目論まれていません。それは:
351         <ul>
352         <li>SQL規格に準ずる既存の機能と重複するもの</li>
353         <li>コードの複雑性ばかりを高めて、得るものが少ない機能</li>
354         <li>安全性が確められない機能</li>
355         </ul>
356     </li>
357     <li>新しい機能は、
358     <a href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</a>
359     のリストに</li>加えられられます。
360     </ul>
361     
362     <p>我々は、PostgreSQL に関して、電子メールで直接対応して
363     <a href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</a>
364     リストを最新に更新してゆくほうがより効果的であることを知っています
365     ので、バグ追跡システムは使いません。
366     現実に、このソフトウェアの中でバグはそれほど長くはい続けませんし、
367     多くのユーザに影響するバグは早急に修正されます。PostgreSQLのリリース
368     で、すべての変更点、改良点、そして、修正点を知りたければ、
369     <a href="http://www.postgresql.org/developer/sourcecode/">CVS</a>
370     のログメッセージを見てください。リリースノートにさえ、このソフトウェア
371     に加えられたすべての変更点は網羅されていません。</p>
372
373
374 <h4 id="item1.10">1.10</a>) どのような文書がありますか?</h4>
375
376     <p> 配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュ
377     アル・ページ)およびいくつかの小さなテスト例題が含まれます。
378     <i>/doc</i>ディレクトリをごらんください。また、マニュアルは、<A
379     href="http://www.postgresql.org/docs/">
380 http://www.postgresql.org/docs/</a>でオンラインでも閲覧できます。
381     </p>
382
383
384     <p><small><pre>
385     [訳注:
386         JPUG 文書・書籍関連分科会で翻訳されたマニュアルもあります。
387                 <a href="http://www.postgresql.jp/document/pg830doc/">
388         http://www.postgresql.jp/document/pg830doc/</a>
389         インプレスから、
390         <a href="http://home.impress.co.jp/reference/2108.htm">
391         PostgreSQLオフィシャルマニュアル</a>として出版されています。
392
393     ]
394     </pre></small></p>
395
396
397     <p>オンラインで参照できる PostgreSQL の本も2冊あります。<a href=
398     "http://www.postgresql.org/docs/books/awbook.html">
399     http://www.postgresql.org/docs/books/awbook.html</a>
400
401     <p><small><pre>
402     [訳注:
403         この本は、JPUG<a href="http://www.postgresql.jp/wg/psqltrans/">「PostgreSQL Book翻訳分科会」
404         </a>で翻訳され、ピアソンから<a href="http://www.seshop.com/detail.asp?pid=2587">
405         「はじめてのPostgreSQL」</a>として出版されています。
406     ]
407     </pre></small></p>
408
409     および、 <a href=
410     "http://www.commandprompt.com/ppbook/">
411     http://www.commandprompt.com/ppbook/</a>です。
412
413     <p><small><pre>
414     [訳注:
415         邦訳は<a href="http://www.oreilly.co.jp/books/4873111021/">「実践 PostgreSQL」
416         </a>がオライリーから出版されています。
417     ]
418     </pre></small></p>
419   
420     購入可能な書籍の目録は、<a href=
421     "http://www.postgresql.org/docs/books/">http://www.postgresql.org/docs/books/</a>
422     にあります。
423
424     PostgreSQL 技術情報記事も、<a href=
425     "http://www.postgresql.org/docs/techdocs">http://www.postgresql.org/docs/techdocs</a>
426     にあります。</p>
427
428     <p><small><pre>
429     [訳注:
430         日本語の書籍等については、日本PostgreSQLユーザ会の、<A
431         href="http://www.postgresql.jp/PostgreSQL/references.html">http://www.postgresql.jp/PostgreSQL/references.html</a>
432         もごらんください。
433     ]
434     </pre></small></p>
435
436     <p> コマンドラインのクライアントプログラム<i>psql</i> にも、型、
437     演算子、関数、集約、その他の情報を調べるために、素晴らしい \d コマンド
438     がいくつかあります。  \? を入力すると利用可能なコマンドが表示されます。</p>
439
440     <p> 我々の Web サイトには、さらに沢山の文書があります。</p>
441
442
443 <h4 id="item1.11">1.11</a>) <small>SQL</small> はどうすれば学べますか?</h4>
444
445     <p>まず、 上記で述べた PostgreSQL についての本を読むことを検討してください。
446     <i>The Practical SQL Handbook</i>, Bowman Judith S. et al.,
447     Addison-Wesley も多くのユーザに好評です。 ほかでは、<i>The Complete
448     Reference SQL</i >, Groff et al., McGraw-Hill も好評です。</p>
449
450
451     <p>素晴らしい手引書は、<a href=
452     <ul>
453     <li> <a href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a>
454     </li>
455     <li>
456     <a href="http://sqlcourse.com/">http://sqlcourse.com</a>
457     </li>
458
459     <li>
460     <a href="http://www.w3schools.com/sql/default.asp">http://www.w3schools.com/sql/default.asp</a>
461     </li>
462     <li><a href=
463     "http://mysite.verizon.net/Graeme_Birchall/id1.html">http://mysite.verizon.net/Graeme_Birchall/id1.html</a>
464     </li>
465     </ul>
466     にあります。</p>
467
468
469     <p><small><pre>
470     [訳注:
471          日本PostgreSQLユーザ会の日本語の参考文献の紹介ページ
472                 <a href="http://www.postgresql.jp/PostgreSQL/references.html">
473 http://www.postgresql.jp/PostgreSQL/references.html</a>
474         があります。
475          堀田倫英氏の「PostgreSQL日本語マニュアル」
476                 <a href="http://www.net-newbie.com/">http://www.net-newbie.com/</a>
477         ではオンラインマニュアルの検索ができます。
478          丸山不二夫氏のUNIX データベース入門
479                 <a href="http://www.wakhok.ac.jp/DB/DB.html">http://www.wakhok.ac.jp/DB/DB.html</a>
480         もオンラインで読むことができます。
481          Nikkei BP IT Pro にある石井達夫氏の <a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20060120/227628/">PostgreSQL ウォッチ</a>
482         では毎回新しい情報をとりあげています。
483     ]
484     </pre></small></p>
485
486 <h4 id="item1.12">1.12</a>) パッチを提供したり、開発チーム参加するにはどうすればよいですか?</h4>
487
488     <p><a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
489     (開発者向けの)Developer's FAQ</a>をごらんください。</p>
490
491
492 <h4 id="item1.13">1.13</a>) 他の<small>DBMS</small>と比べPostgreSQLはどうなのですか?</h4>
493
494     <p>ソフトウェアを計る方法にはいくつかあります。機能と性能と信頼性と
495     サポートと価格です。</p> 
496
497     <dl>
498       <dt> <b>機能(Features)</b></dt>
499       <dd>
500       PostgreSQLは、トランザクション、サブクエリ、トリガー、ビュー、外
501       部キー整合性参照、および、洗練されたロック機構など、大規模商用
502       <small>DBMS</small>が持つ機能をほとんど持っています。さらに
503       PostgreSQLは、ユーザ定義型、継承、ルール、それから、ロック競合を縮
504       小するマルチバージョン同時性制御など、商用<small>DBMS</small>も持
505       ち合わせないような機能をいくつか持ち合わせています。<br />
506
507       </dd>
508
509       <dt> <b>性能(Performance)</b></dt>
510       <dd>
511       PostgreSQLは他の商用あるいはオープンソースのデータベースと互角の性
512       能も持ちます。ある面ではより早かったり、ほかの面ではより遅かったり
513       します。他のデータベースに比べた性能は、ふつう +/-10% くらいでしょう。
514       </dd>
515
516       <dt> <b>信頼性(Reliability)</b></dt>
517       <dd>
518       我々は、<small>DBMS</small>の信頼性が高くなくてはその価値が無いこ
519       とを理解してます。十分テストして、安定したコードをバグを最小にして
520       からリリースするように努めてます。それぞれのリリースは少なくとも1
521       カ月以上のベータ・テストを行ない、これまでのリリースの履歴が、製品
522       版として安定した堅固なリリースであることを物語っています。この分野
523       では、他のデータベースと比べても遜色がないことに自信を持っています。
524       <br /> 
525       </dd>
526
527       <dt> <b>サポート(Support)</b></dt>
528       <dd>
529       我々のメーリングリストは、遭遇するいかなる問題についても解決への手
530       助けをしてくれる、開発者やユーザの大きな集まりへの接点を提供してい
531       ます。我々は問題の解決を保証することはできませんが、商用データベー
532       スであっても常に解決されるわけではありません。開発者や、ユーザ・コ
533       ミュニティ、マニュアル類、それに、ソースコードなどへ直接アクセスで
534       きることによって、PostgreSQLのサポートは、他の<small>DBMS</small>
535       サポートよりも優れたものとなっています。御要望に答えて、事柄毎の商
536       用サポートなどもあります(<a href="#item1.7">FAQ1.7節</a>をごらんくだ
537       さい)。
538       <br /> 
539       </dd>
540
541       <dt> <b>価格(Price)</b></dt>
542       <dd>
543       PostgreSQLの利用は、商用でも非商用でも、すべて無料です。上記に示し
544       てあるBSDスタイルの使用許諾に外れない限り、PostgreSQLのコードを制
545       限無しで商品に組み込むことができます。<br /> 
546       </dd>
547    </dl>
548    </p>
549
550 <h3 id="item1.14">1.14) PostgreSQLは国毎の最新の夏時間の変更を扱いますか?</h3>
551
552    <p>合州国の夏時間の変更は、PostgreSQLのリリース8.0.4以降[4+]と、その
553       後のメジャーリリース、たとえば 8.1 には含まれています。カナダとオー
554       西部ストラリアの変更は、8.0.[10+], 8.1.[6+] および、その後のメジャー
555       リリースのすべてに含まれます。8.0より前のPosrgreSQLではオペレーティ
556       ングシステムのタイムゾーンデータベースを夏時間情報のために使ってい
557       ます。</p>
558
559 <hr />
560
561 <h3 id="item1.15">1.15)  PostgreSQLのメーリングリストの購読をやめるにはどうすればよいですか?また、電子メールを重複して受け取らないようにするにはどうしますか?
562 </h3>
563
564     <p>PostgreSQLの<a
565     href="http://mail.postgresql.org/mj/mj_wwwusr/domain=postgresql.org?user=&amp;passw=&amp;func=login">Majordomo</a>
566     ページから、PostgreSQLに関する複数のメーリングリストの購読の開始と中止
567     ができるようになっています。(ログインするためにはMajaordomoから送ら
568     れる御本人のパスワードが必要になります。)</p>
569
570     <p>PostgreSQLnoすべてのメーリングリストでは、返信はメーリングリスト
571     と<i>かつ</i>元のメールの投稿者へ送られるように構成してあります。こ
572     れにり利用者は、もっとも迅速にメールへの返信を受けられるようになって
573     います。既に直接受け取っているメールを、リストから重複して受け取りた
574     くない場合は、Majordomo の<i>Change Settings</i>ページから、
575     <i>eliminatecc</i>をチェックします。また、<i>selfcopy</i>のチェック
576     をはずすことで、自分の送ったメールのコピーを受け取らないようにもでき
577     ます。</p>
578
579
580 <h2 align="center">ユーザ・クライアントの質問</h2>
581
582
583 <h4 id="item2.1">2.1</a>) PostgreSQL にはどんなインターフェースが使えますか?</h4>
584
585     <p>PostgreSQL のインストールに含まれる物は<small>C</small>と組込み
586     <small>C</small>のインターフェースだけです。その他のインターフェース
587     は独立したプロジェクトで、別々にダウンロードされます。分かれることで、
588     それぞれの開発チームが独自のリリーススケジュールを持つことが許されま
589     す。</p>
590
591     <p><small>PHP</small> のようないくつかのプログラミング言語は、
592     PostgreSQLのインターフェースを含んでいます。Perl, <small>TCL</small>,
593     Python, そして、そのほかの利用可能な言語のインターフェースは、<a 
594     href="http://pgfoundry.org">http://pgfoundry.org</a>
595     の <i>Drivers/Interfaces</i> の節の中とインターネットの検索でみつけ
596     られます。
597     </p>
598
599
600 <h4 id="item2.2">2.2</a>) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?</h4>
601
602     <p> データベースを裏に持つ Web ページについての素晴らしい紹介が、<br />
603     <a href="http://www.webreview.com">http://www.webreview.com</a>にあります。</p>
604     <p> Web への拡張のためには、PHP(<a  href="http://www.php.net">http://www.php.net/</a>)
605      が卓越したインターフェースとなっています。</p>
606
607     <p><small><pre>
608     [訳注:
609           PHPに関する日本語の情報は、2000年4月19日に発足した日本PHPユーザ会のサイト
610                 <a href="http://www.php.gr.jp/">http://www.php.gr.jp/</a>
611         あるいは、廣川 類さんのサイト
612                 <a href="http://www.geocities.jp/rui_hirokawa/php/">http://www.geocities.jp/rui_hirokawa/php/</a>
613         にかなりまとめられています。
614     ]
615     </pre></small></p>
616
617     <p> 処理が複雑な場合、多くの人は Perl インターフェースと CGI.pm か
618     mod_perl を使います。 </p>
619
620
621 <h4 id="item2.3">2.3</a>) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?</h4>
622
623
624     <p>商用とオープンソース開発者によるもの両方で、PostgreSQLには多くのGUIツールが利用可能で、詳細なリストは、<a href="http://www.postgresql.org/docs/techdocs">PostgreSQLコミュニティ文書</a> でごらんください。</p>
625
626     <p><small><pre>
627     [訳注:
628         pgAdmin3 はPostgreSQL標準GUI管理ツールで、Windows版(PostgreSQL
629         for Windows) に同梱されています。詳しい情報は、
630         <a href="http://www.pgadmin.org/">http://www.pgadmin.org/</a>にあります。
631     ]
632     </pre></small></p>
633
634 <hr />
635
636 <h2 align="center">管理上の質問</h2>
637
638 <h4 id="item3.1">3.1</a>) どのようにすれば <i>/usr/local/pgsql</i> 以外の場所にインストールできますか?</h4>
639
640     <p> 簡単な方法は、 <i>configure</i> を走らせるときに --prefix オプショ
641     ンを指定することです。 </p>
642
643
644 <h4 id="item3.2">3.2</a>) 他のホストからの接続はどのように制御しますか?</h4>
645
646     <p>既定値では、PostgreSQL は Unix ドメインソケット、または、TCP/IP接
647      続のローカルマシンからの接続しか許しません。postgresql.conf の中の
648      listen_addresses を修正し、<b>かつ</b>、<i>$PGDATA/pg_hba.conf</i>
649      ファイルを適切に直し、データベースサーバを再起動して、ホストベース
650      の認証を有効にしないかぎりは、他のマシンからは接続できないでしょう。</p>
651
652
653 <h4 id="item3.3">3.3</a>) より良い性能を得るためには、データベース・エンジンをどのように調整しますか?</h4>
654  
655     <p>性能改善の可能性のありそうな主な領域が3つあります:</p>
656     <dl>
657     <dt><b>クエリの変更</b></dt>
658
659     <dd>クエリを修正してより良い性能を得ることを含みます:
660     <ul>
661     <li>式および部分インデックスを含む、インデックスを作成</li>
662     <li>複数の<small>INSERT</small>のかわりにCOPYを使用</li>
663     <li>複数の文をグループ化し、1つのトランザクションにしてコミットのオーバヘッドを削減</li>
664     <li>インデックスからから沢山のロウを取り出すときは<small>CLUSTER</small>を使用</li>
665     <li>クエリの出力のサブセットを返すために<small>LIMIT</small>を使用</li>
666     <li>準備されているクエリを使用</li>
667     <li>オプティマイザの正確な統計を維持するために<small>ANALYZE</small>を使用</li>
668     <li><small>VACUUM</small> または <i>pg_autovacuum</i> の常用</li>
669     <li>大きなデータ変更のあるときはインデックスを削除</li>
670     </ul><br/>
671     <br/>
672     </dd>
673
674     <dt><b>サーバ構成</b></dt>
675
676     <dd><i>postgresql.conf</i>の設定のいくつかは性能に影響します。
677     詳しくは、<a href=
678     "http://www.postgresql.org/docs/current/static/runtime-config.html">
679     Administration Guide/Server Run-time Environment/Run-time
680     Configuration</a> の全件リストをごらんください(<a
681     href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html">
682     JPUGサイトの日本語版、サーバの構成</a>)。
683     そして、解説として、<a
684     href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html">
685     http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html</a>
686     および、 <a href="http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html">
687     http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html</a> を
688     ごらんください。
689     <br/>
690     <br/>
691     </dd>
692
693     <dt><b>ハードウェアの選定</b></dt>
694
695     <dd>性能におけるハードウェアの影響は
696     <a href="http://www.powerpostgresql.com/PerfList/">
697     http://www.powerpostgresql.com/PerfList/</a> と、 <a
698     href="http://momjian.us/main/writings/pgsql/hw_performance/index.html">
699     http://momjian.us/main/writings/pgsql/hw_performance/index.html</a>
700     (<a href="http://www.postgresql.jp/wg/psqltrans/hw_performance_j/index.html">JPUGサイトの日本語版</a>)
701     に述べられています。
702     <br/>
703     <br/>
704     </dd>
705     </dl>
706
707
708     <p><small><pre>
709     [訳注:
710       JPUG理事長の片岡裕生氏による、「今すぐできるPostgreSQLチューニング」
711       というコーナーが ThinkIT サイトにあり、実作業の参考になります。
712         http://www.thinkit.co.jp/free/tech/10/1/1.html
713     ]
714     </pre></small></p>
715
716
717 <h4 id="item3.4">3.4</a>) どのようなデバグ機能が使えますか?</h4>
718
719     <p>サーバ構成変数には多くの <code>log_*</code> があり、クエリとプロ
720     セスの統計を出力することができ、デバグと性能計測にとても便利です。</p>
721
722
723 <h4 id="item3.5">3.5</a>) 接続しようとするときに <i>'Sorry, too many clients'</i> が出るのはなぜですか?</h4>
724
725     <p> 既定での制限である 100 のデータベースセッションに達してしまって
726     います。サーバーの同時接続できるバックエンドプロセスの制限値を増やす
727     必要があります。<i>postgresql.conf</i> の中の<i>max_connections</i>
728     の値を変更してサーバを再起動することで可能になります。</p>
729
730
731 <h4 id="item3.6">3.6</a>)  PostgreSQLのアップグレードの手順はどうなりますか?</h4>
732
733     <p>バージョン番号付けの方針について、更新全般についての解説は<a
734     href="http://www.postgresql.org/support/versioning">http://www.postgresql.org/support/versioning</a> を、
735     そして、アップグレードについての一般的な説明は <a 
736     href="http://www.postgresql.org/docs/current/static/install-upgrading.html">
737     http://www.postgresql.org/docs/current/static/install-upgrading.html</a>
738     をご覧ください。
739     </p>
740 <p><small><pre>
741 [訳注:
742    アップグレードについての和訳版は下記にあります。
743   <a href="http://www.postgresql.jp/document/current/html/install-upgrading.html">http://www.postgresql.jp/document/current/html/install-upgrading.html</a>
744 ]
745 </pre></small></p>
746
747
748 <small><pre>
749 [訳注:
750    原文では、下記の内容は<a href="http://www.postgresql.org/support/versioning">独立したページに移され</a>、削除されています。
751 </pre>
752
753     <p>新しい機能を盛り込むPostgreSQLのメジャーリリースはだいたい年に1回
754     程度行ないます。メジャーリリースは、たとえば、8.1から8.2へのように、
755     バージョン番号の1番目か2番目の部分を増やしてゆきます。</p>
756
757     <p>PostgreSQLのメジャーリリースは通常、システムテーブルとデータの内
758     部フォーマットを変更します。これらの変更はたいていは複雑なのでで、デー
759     タファイルの後方互換性を維持したりはしません。メジャーアップグレード
760     のためには、データベースのダンプ/リロードが必要になります。</p>
761
762     <p>マイナーリリースは、たとえば、8.1.5 から8.1.6へのように、バージョ
763     ン番号の3番目の値を増やします。PostgreSQLチームは、マイナーリリース
764     に対しては、バグフィクスしか行ないません。すべてのユーザは、できるだ
765     け最新のマイナーリリースに更新すべきです。アップグレードには、常にリ
766     スクがつきものですから、PostgreSQLのマイナー修正リリースでは、頻繁に
767     発生したり、<a href="http://www.postgresql.org/support/security">セキュリティ</a>に関係したり、データがつぶれるバグだけを修正
768     し、アップグレードのリスクを最小限にとどめます。我々のコミュニティで
769     は、アップグレードするリスクよりも、アップグレード<i>しないリスク</i>
770     のほうが高いと考えています。</p>
771
772     <p>マイナーリリースのアップグレードにはダンプとリストアの必要はなく、
773     データベースサーバを停止して、アップデートされたバイナリをインストー
774     ルし、サーバをリスタートします。</p>
775 <pre>
776 ]
777 </pre></small>
778
779
780 <h4 id="item3.7">3.7</a>) ハードウェアにはどのようなコンピュータを使えばよいですか?</h4>
781
782     <p>PCハードウェアはほとんど互換性がありますので、ほとんどの人は、す
783     べてのPCハードウェアが同じ品質だと思い込む傾向があります。しかし、そ
784     れは間違いです。ECC RAM、SCSI、および、高品質マザーボードは、安いハー
785     ドウェアに比べると、より信頼性が高く、より性能も良いのです。
786     PostgreSQL はほとんどのハードウェアで稼働しますが、信頼性や性能が重
787     要な場合は、使用中のハードウェアのオプションについて調査することが
788     賢明です。我々のメーリングリスト上でもハードウェアオプションのトレー
789     ドオフについて議論することができます。</p>
790
791 <hr />
792
793
794 <h2 align="center">操作上の質問</h2>
795
796 <h4 id="item4.1">4.1</a>) 最初の数ロウのみを <small>SELECT</small>するにはどうしますか?ランダムなロウ?
797 </h4>
798
799     <p>たったの数行のロウを取り出すために、何行必要かがわかれば、
800     <small>SELECT</small> のときに <small>LIMIT</small> を使います。
801     <small>ORDER BY</small>にインデックスがマッチした場合、まったくクエ
802     リが実行されないこともあります。<small>SELECT</small> のときに何行
803     が必要かを知らなければ、カーソルを使い<small>FETCH</small>します。</p>
804
805    <p>ランダムロウを<small>SELECT</small>するには、次の文を使います: 
806 <pre>
807     SELECT col
808     FROM tab
809     ORDER BY random()
810     LIMIT 1;
811 </pre>
812
813
814 <h4 id="item4.2">4.2</a>) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?<i>psql</i>で使われているクエリを表示するにはどうしますか?</h4>
815
816     <p><i>psql</i> の中で \dtコマンドを使ってテーブルを見ることができ
817     ます。psqlの中で \? を使って、コマンドの全リストを調べることができま
818     す。一方で、<i>psql</i> のソースコードで、バックスラッシュコマンドを
819     出力する <i>pgsql/src/bin/psql/describe.c</i> ファイルを読むこともで
820     きます。その中には、 <small>SQL</small> コマンドを生成する部分も含ま
821     れます。また、 <i>-E</i> オプションを付けて <i>psql</i> を開始すると、
822     入力されたコマンドを実行するためのクエリを印字出力するようになります。
823     PostgreSQLは <small>SQL</small> 準拠の INFORMATION SCHEMA インター
824     フェースを提供しますので、データベースについての情報を問い合わせるこ
825     ともできます。</p>
826
827     <p><i>pg_</i> で始まるシステムテーブルでもこれらを記述することができ
828     ます。</p>
829     
830     <p><i>psql -l</i>を使うと全てのデータベースをリストします。</p>
831
832     <p>それと、<i>pgsql/src/tutorial/syscat.source</i> を試してみてくだ
833     さい。そこには、データベースのシステムテーブルから情報を得るために必
834     要な <small>SELECT</small> 文が沢山あります。</p>
835
836
837 <h4 id="item4.3">4.3</a>) カラムのデータ型を変更するにはどうしますか?</h4>
838
839     <p>カラムのデータ型の変更は 8.0 以降では、
840     <small>ALTER TABLE ALTER COLUMN TYPE</small> を使うことにより間単に
841     なりました。</p>
842
843     <p>それより前のバージョンでは、以下のようにします:</p>
844 <pre>
845     BEGIN;
846     ALTER TABLE tab ADD COLUMN new_col <i>new_data_type</i>;
847     UPDATE tab SET new_col = CAST(old_col AS <i>new_data_type</i>);
848     ALTER TABLE tab DROP COLUMN old_col;
849     COMMIT;
850 </pre>
851
852     <p>これを行なったときは、抹消された行が使っているディスク空間を回収
853     するために<i>VACUUM FULL tab</i>をしたほうが良いかもしれません。</p>
854
855 <h4 id="item4.4">4.4</a>) ロウ、テーブル、データベースの最大サイズは?</h4>
856
857     <p>制限は以下のとおりです:</p>
858 <blockquote>
859 <table>
860 <tr><td>データベースの最大サイズ?</td><td>制限無し (32 TB のデータベースも存在します)</td></tr>
861 <tr><td>テーブルの最大サイズ?</td><td>32 TB</td></tr>
862 <tr><td>ロウの最大サイズ?</td><td>400 GB</td></tr>
863 <tr><td>フィールドの最大サイズ?</td><td>1 GB</td></tr>
864 <tr><td>テーブル内での最大ロウ数?</td><td>制限無し</td></tr>
865 <tr><td>テーブル内での最大カラム数?</td><td>カラムの型によって 250-1600</td></tr>
866 <tr><td>テーブル内での最大インデックス数?</td><td>制限無し</td></tr>
867 </table>
868 </blockquote>
869
870     <p> もちろん、これらは実際は無制限ではなく、ディスク容量とメモリーや
871     スワップスペースの大きさにより制限されます。性能はこれらの値がことの
872     ほか大きな時に煽りを受けます。</p>
873
874     <p> 最大テーブルサイズの32TBはオペレーティングシステムによる巨大ファ
875     イルのサポートは必要としません。巨大なテーブルは複数の1GBのファイル
876     に分けて保存されますので、ファイルシステムの制限は重要ではありません。
877     </p>
878
879     <p> デフォルトのブロックサイズを32kに増加することで、最大テーブルサイズ
880     と行サイズと最大カラム数とを4倍にすることができます。また、最大テーブル
881     サイズはテーブルパーティションを使って増やすこともできます。</p> 
882
883     <p>ひとつの制限は、約2,000文字以上の長さのカラムにインデックスを付
884     けることができないことです。 幸いにも、そのようなインデックスは実際
885     は必要ありません。長いカラムのMD5ハッシュの関数インデックスは一意性
886     がなによりの保険で、また、フルテキストのインデックスではカラム内の
887     単語を検索することができます。</p>
888
889 <h4 id="item4.5">4.5</a>) 一般的なテキストファイルのデータを保存するには、データベースのディスク容量はどのくらい必要です?</h4>
890
891     <p>普通のテキストファイルを PostgreSQL のデータベースに保存するには、
892     最大で約5倍のディスク容量を必要とします。</p>
893
894
895     <p> 例題として、各行に整数とテキスト記述を持つ 100,000行のファイルを
896     考えてみましょう。テキストの文字列の平均長さを20バイトと仮定すると、
897     フラットファイルの大きさは約2.8MB です。このデータを含む PostgreSQL
898     データベースファイルの大きさは次のように約5.2MBと見積もることができ
899     ます: 
900
901 <pre>
902     24 bytes: 各ロウのヘッダ(概算)
903     24 bytes: 整数(int)フィールドとテキスト(text)フィールド
904    + 4 bytes: ページ上のタップルへのポインタ
905    ----------------------------------------
906     52 bytes per row
907
908    PostgreSQL のデータページサイズは 8192バイト(8KB)なので:
909
910    8192 bytes per page
911    -------------------   =  146 rows per database page (切り捨て)
912      52 bytes per row
913
914    100000 data rows
915    --------------------  =  633 database pages (切り上げ)
916       158 rows per page
917  
918   633 database pages * 8192 bytes per page  =  5,185,536 bytes (5.2 MB)
919 </pre>
920
921     <p>インデックスは、これほどのオーバヘッドは要求しませんが、インデッ
922    クス付けされるデータを含む以上、それなりに大きくなります。 </p>
923     <p><small>NULL</small>はビットマップとして保存されていて、それらがわ
924     ずかにスペースを使います。</p>
925
926
927 <h4 id="item4.6">4.6</a>) クエリが遅いのはなぜでしょう? なぜ、インデックスが使われないのでしょうか?</h4>
928
929     <p>インデックスは、すべてのクエリで使われるわけではありません。テー
930     ブルが最小サイズより大きく、クエリでそのわずかなパーセンテージのロウ
931     を選択する時だけ、インデックスは使われます。これはインデックススキャ
932     ンにより起こされるランダムなディスクアクセスは、テーブルをストレート
933     に読む順次走査よりも遅くなることがあるからです。 </p>
934
935     <p>インデックスを使うかを決定するために、PostgreSQL はテーブルについ
936     ての統計情報を持たなければなりません。この統計情報は、
937     <small>VACUUM ANALYZE</small>または、単に <small>ANALYZE</small> を使っ
938     て収集することができます。統計情報を使ってオプティマイザはテーブルの
939     中にあるロウ数を知り、インデックスを使うべきかの決定をより正しくでき
940     ます。統計情報は最適な結合順や結合方法を決める上でも貴重なものもあり
941     ます。統計情報の収集は、テーブルの内容が変わる毎に繰返しなされるべ
942     きです。</p>
943
944     <p> インデックスは、通常 <small>ORDER BY</small> や結合を行なうため
945     には使われません。順次スキャンに続く明示的ソートは、巨大なテーブルの
946     インデックススキャンよりも普通は高速です。</p>
947
948     しかし、<small>ORDER BY</small>と組み合わされた<small>LIMIT</small>
949     は、テーブルの小さな部分を返すためにたびたびインデックスを使うでしょ
950     う。
951
952     <p>もし、オプティマイザが間違ってシーケンシャルスキャンを選択したこ
953     とに疑いがなければ、<CODE>SET enable_seqscan TO 'off'</CODE>に設定し
954     て、クエリをもう一度実行し、インデックススキャンがまちがいなく速くなっ
955     ているかどうかをみてください。</p> 
956
957     <p> <small>LIKE</small> あるいは <i>~</i> のようなワイルドカード演算
958     子は特別な環境でしか使えません:
959     <ul>
960     <li>検索文字列が文字列の最初にききます。たとえば:</li>
961         <ul>
962          <li><small>LIKE</small> パターンが<i>%</i>で始まらない</li>
963          <li><i>~</i> (正規表現) パターンは<i>^</i>で始まらなければならない</li>
964         </ul>
965     <li>検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。</li>
966     <li><small>ILIKE</small> や <i>~*</i> のような大文字と小文字を区別し
967         ない検索は使えません。そのかわり、このFAQの<a
968         href="#item4.8">4.8</a>節で説明する式インデックスが使えます。
969         </li> 
970     <li><i>initdb</i> においては、デフォルトで<i>C</i>ロケールが使われな
971         くてはなりません。その理由は、Cロケール以外では次に大きな文字を
972         知ることができないからです。このような場合、<pre>LIKE</pre>イン
973         デクシングにだけ働くような、特別な<pre>text_pattern_ops</pre>イ
974         ンデックスを作成することもできます。また、それを全文検索のフル
975         テキストのインデックス作成に使うことができます。
976         </li>
977     </ul>
978     <p>
979
980
981 <h4 id="ITEM4.7">4.7</a>) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどうしますか?</h4>
982
983     <p>オンラインマニュアルで <small>EXPLAIN</small> を見てください。</p>
984
985 <h4 id="item4.8">4.8</a>) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使いますか?</h4>
986
987     <p><i>~</i>演算子は正規表現照合を行ない、<i>~*</i> は大文字と小文字
988     を区別しない(case-insensitive)正規表現照合を行います。 大文字と小文
989     字を区別しない <small>LIKE</small> 演算子を <small>ILIKE</small> と
990     いいます。</p>
991
992     <p>大文字と小文字を区別しない等値比較は次のように表現できる:
993 <pre>
994     SELECT *
995     FROM tab
996     WHERE lower(col) = 'abc';
997 </pre>
998
999     <p>標準インデックスでは使われず、しかしながら、もし、式インデックス
1000     を作ったならそれが使われるでしょう。</p>
1001
1002 <pre>
1003     CREATE INDEX tabindex ON tab (lower(col));
1004 </pre>
1005
1006     <p>上記のインデックスが<small>UNIQUE</small>で作成された場合、カラム
1007     は大文字と小文字を格納できますが、その違いが文字ケースだけであっても
1008     同一にはなりません。あえて特定の文字ケースをカラムに格納するには
1009     <small>CHECK</small>制約か、トリガーを使ってください。</p>
1010
1011
1012
1013 <h4 id="item4.9">4.9</a>) クエリの中で、フィールドが<small>NULL</small> であることを検出するにはどうしますか? <small>NULL</small> であることを検出するにはどうしますか? フィールドが<small>NULL</small>かどうかでどのようにソートができますか?</h4>
1014
1015     <p>以下のように、<small>IS NULL</small> と <small>IS NOT
1016     NULL</small>で、そのカラムをテストしてみます:</p> 
1017
1018 <pre>
1019    SELECT *
1020    FROM tab
1021    WHERE col IS NULL;
1022 </pre>
1023
1024 <small>NULL</small>の可能性のあるものを連結するには、<i>COALESCE()</i>を
1025 次のように使います。
1026
1027 <pre>
1028    SELECT COALESCE(col1, '') || COALESCE(col2, '')
1029    FROM tab
1030 </pre>
1031
1032    <p><small>NULL</small>状態でソートするには、<small>IS NULL</small> と
1033    <small>IS NOT NULL</small> の修飾子を <small>ORDER BY</small> 句の中
1034    で使ってみます。<i>true</i> のものは <i>false</i> のものよりも高い値
1035    として並べられますので、次の例では NULL の記載が結果リストの上部に置
1036    かれます。
1037
1038 <pre>
1039    SELECT *
1040    FROM tab
1041    ORDER BY (col IS NOT NULL)
1042 </pre>
1043
1044
1045 <h4 id="item4.10">4.10</a>) いろいろな文字型のそれぞれの違いは何ですか?
1046 </h4>
1047
1048 <blockquote>
1049 <table>
1050 <tr><th>型</th><th>内部名</th><th>備考</th></tr>
1051 <tr><td>VARCHAR(n)</td><td>varchar</td><td>最大長のサイズを指定する、詰め物無し</td></tr>
1052 <tr><td>CHAR(n)</td><td>bpchar</td><td>指定された固定長となるように空白が詰められる</td></tr>
1053 <tr><td>TEXT</td><td>text</td><td>長さに特別な上限は無し</td></tr>
1054 <tr><td>BYTEA</td><td>bytea</td><td>可変長のバイト配列(null-byte safe)</td></tr>
1055 <tr><td>"char"</td><td>char</td><td>1文字</td></tr>
1056 </table>
1057 </blockquote>
1058
1059     <p> 内部名にお目にかかるのは、システム・カタログを調べるときや、エラー
1060     メッセージを受け取るときです。</p>
1061
1062     <p> 上記の型のうち最初の4つの型は "varlena" 型です(すなわち、ディス
1063     クの最初の4バイトがデータ長で、それの後に実際のデータが続きます)。
1064     このように実際の空間は宣言された大きさよりも少し大きくなります。しか
1065     し、長い値は圧縮されるので、ディスク上の空間は思ったよりも小さくなります。</p>
1066
1067     <p><small>VARCHAR(n)</small> は可変長の文字列を保存するのに最適です
1068     が、保存できる文字列の長さに制限があります。<small>TEXT</small> は長
1069     さに制限の無い文字列の保存のためのもので、最大で 1ギガバイトです。
1070     <small>CHAR(n)</small>は、<small>VARCHAR(n)</small>が与えられた文字
1071     だけを保存するのに対し、ブランクを詰め込んでいつも同じ長さで文字列を
1072     保存するのに最適です。<small>BYTEA</small>は、部分的に
1073     <small>NULL</small> のバイトを含むバイナリデータを保存するためのもの
1074     です。これらのタイプは同じくらいの性能特性をもちます。</p>
1075
1076
1077 <h4 id="item4.11.1">4.11.1</a>) 通番(serial)/自動増分フィールドはどのようにつくりますか?</h4>
1078
1079     <p> PostgreSQL は <small>SERIAL</small> データ型をサポートします。カ
1080     ラム上にシーケンスを自動作成します。たとえば、</p>
1081
1082 <pre>
1083     CREATE TABLE person ( 
1084         id   SERIAL, 
1085         name TEXT 
1086     );
1087 </pre>
1088     は自動的に次のように翻訳されます:
1089 <pre>
1090     CREATE SEQUENCE person_id_seq;
1091     CREATE TABLE person ( 
1092         id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
1093         name TEXT
1094     );
1095 </pre>
1096
1097     <p><small><pre>
1098     [訳注:
1099         CREATE UNIQUE INDEX person_id_key ON person ( id );
1100         は、 7.3 以降は自動的には行なわれなくなりました。
1101     ]
1102     </small></pre></p>
1103
1104     <p>自動的につくられる通番は、
1105         &lt;<i>table</i>&gt;_&lt;<i>serialcolumn</i>&gt;_<i>seq</i>
1106     と名付けられていて、<i>table</i> と <i>serialcolumn</i> は、それぞれ
1107     テーブルと <small>SERIAL</small> カラムの名前です。
1108     通番については、オンラインマニュアルで<i>create_sequence</i> 
1109     をごらんください。</p>
1110
1111
1112 <h4 id="item4.11.2">4.11.2</a>) <small>SERIAL</small>データ型に挿入される値は、どうすれば得られますか?</h4>
1113
1114     <p>最も簡単な方法は、割り当てられた<small>SERIAL</small>値を
1115     <small>RETURNING</small>として取得することです。
1116     <a href="#item4.11.1">4.11.1</a>の例題テーブルを使うと次のように
1117     なります。
1118
1119 <pre>
1120     INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id;
1121 </pre>
1122
1123
1124 <h4 id="item4.11.3">4.11.3</a>) <i>currval()</i> は他のユーザとの競合状態に陥ることはないですか?</h4>
1125
1126     <p>それはありません。<i>currval()</i> は、すべてのユーザではありませ
1127     んが、読者のセッションに与えられた現在の値を返します。 </p>
1128
1129
1130 <h4 id="item4.11.4">4.11.4</a>) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?</h4>
1131
1132     <p>同時性を改善するために、実行中のトランザクションに、必要に応じてト
1133     ランザクションが終了するまでロックされないようシーケンス値を与えてい
1134     ます。このためトランザクションが中断されると番号割り当てにギャップを
1135     生じます。</p> 
1136
1137
1138 <h4 id="item4.12">4.12</a>) <small>OID</small> とは何ですか? <small>CTID</small> とは何ですか?</h4>
1139
1140     <p>テーブルが<small>WITH OIDS</small>でつくられた場合は、それぞれの
1141     ロウに一意な<small>OID</small>が取られます。
1142     <small>OID</small>は自動的に4バイトの整数で与えられ、それは、全イン
1143     ストレーションを通して一意な値となります。しかし、約40億でオーバーフ
1144     ローし、そして、<small>OID</small>は重複をしはじめます。PostgreSQLは
1145     内部システムテーブルを一緒にリンクするために<small>OID</small> を使
1146     います。
1147
1148     <p>ユーザのテーブルのカラムに一意の番号を付けるためには、
1149     <small>OID</small> ではなく <small>SERIAL</small> を使うのが最もよい
1150     でしょう。<small>SERIAL</small>の連番は1つのテーブル内でのみ一意にな
1151     るからで、オーバーフローを起こしにくいと考えられます。
1152     8バイトのシーケンス値を保存するために、<small>SERIAL8</small>があり
1153     ます。</p>
1154
1155     <p><small>CTID</small> は、特定の物理ロウをブロックとオフセットの値
1156     で識別するために使われます。<small>CTID</small>は、ロウが修正された
1157     り再読込みされたときに変わります。また、物理ロウを差すためにインデッ
1158     クスの記載に使われます。</p>
1159
1160
1161 <h4 id="item4.13">4.13</a>) エラーメッセージ <i>"ERROR: Memory exhausted in AllocSetAlloc()"</i>が出るのはなぜですか?</h4>
1162
1163     <p>おそらく、システムの仮想メモリーを全て使い果たしてしまっている可
1164     能性があるか、カーネルがあるリソースについてもつ制限値が低すぎる可能
1165     性があります。サーバを始動する前にこれを試してみてください:</p>
1166
1167 <pre>
1168     ulimit -d 262144
1169     limit datasize 256m
1170 </pre>
1171
1172     シェルによって、どちらかひとつが成功するでしょうが、これはプロセスの
1173     データセグメント制限をより高く設定し、たぶんクエリが完結するようにな
1174     るでしょう。このコマンドは現行のプロセスと、このコマンドを走らせた後
1175     に作られる全てのサブプロセスについて適用されます。バックエンドがとて
1176     も多くのデータを返すために<small>SQL</small> クライアントで問題が続
1177     いているのであれば、クライアントを開始する前にこれを試してみてくださ
1178     い。 
1179
1180 <h4 id="item4.14">4.14</a>) どのバージョンの PostgreSQL を走らせているかを調べるにはどうしますか?<br /></h4>
1181
1182     <p><i>psql</i> から <CODE>SELECT version();</CODE> をタイプします。</p>
1183
1184
1185 <h4 id="item4.15">4.15</a>) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?<br /></h4>
1186
1187     <p><i>CURRENT_TIMESTAMP</i>を使います:</p>
1188 <pre>
1189     CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
1190 </pre>
1191
1192
1193 <h4 id="item4.16">4.16</a>) <i>外部</i>結合(<i>outer</i> join)はどのように実現しますか?<br /></h4>
1194
1195     <p>PostgreSQL は SQL 標準構文を使う外部結合(アウタージョイン)をサポー
1196     トします。ここに 2つの例題があります。</p> 
1197
1198 <pre>
1199     SELECT *
1200     FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
1201 </pre>
1202 あるいは
1203 <pre>
1204     SELECT *
1205     FROM t1 LEFT OUTER JOIN t2 USING (col);
1206 </pre>
1207
1208 これらの象徴的なクエリでは t1.col を t2.col と結合して、t1 の結合されなかったロウ(t2 と一致しなかったロウ)も返しています。<small>RIGHT</small> 結合は t2 の結合されなかったロウを加えるでしょう。<small>FULL</small> 結合は、一致したロウに t1 と t2 からは結合されなかったロウを返すでしょう。<small>OUTER</small> という言葉はオプションで <small>LEFT</small>, <small>RIGHT</small>, または <small>FULL</small> などの結合を仮定されています。通常、結合は<small>INNER</small>結合と呼ばれます。
1209
1210
1211 <h4 id="item4.17">4.17</a>) 複数のデータベースを使う問い合わせはどのようにすればできますか?</h4>
1212
1213     <p>現行のデータベース以外への問い合わせの方法はありません。というの
1214     もPostgreSQLがデータベース仕様のシステムカタログを読み込むためで、そ
1215     こには、たとえそのふりをするだけにしろ、データベースを越えて問い合わ
1216     せをするすべがありません。 </p>
1217
1218     <p><i>contrib/dblink</i> はデータベース間(cross-database)の問い合わ
1219     せを関数呼出しにより許します。もちろん、クライアントは同時に接続を別
1220     のデータベースへも張らなくてはならず、結果をクライアント側でマージし
1221     なくてはなりません。</p>
1222
1223
1224 <h4 id="item4.18">4.18</a>) 関数から複数のロウまたはカラムを返すにはどうしますか?</h4>
1225
1226     <p>集合を返す関数(Set Returning Functions):
1227     <a href="http://www.postgresql.org/docs/techdocs.17">
1228     http://www.postgresql.org/docs/techdocs.17</a></p>
1229     を使うと簡単です</p>。
1230
1231
1232 <h4 id="item4.19">4.19</a>) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?</h4>
1233
1234     <p>バージョン8.3より前の PostgreSQL では、PL/PgSQL は関数スクリプトを
1235     キャッシュしたため、運悪くその副作用がありました。PL/PgSQL 関数が一時
1236     テーブルにアクセスして後でそのテーブルを消して作りした場合に、関数が
1237     もう一度呼び出されたときは、その関数のキャッシュしていた内容がまだ古い
1238     一時テーブルを指し示したままだったからです。
1239     この、解決策として、PL/PgSQLの中で <small>EXECUTE</small> を一時テー
1240     ブルへのアクセスのために使います。そうすると、クエリは毎回パースをや
1241     り直しされるようになります。</p>
1242
1243     <p>この問題は、 PostgreSQL バージョン8.3 以降では起きません。</p>
1244
1245
1246 <h4 id="item4.20">4.20</a>) どのようなレプリケーションのソリューションがありますか?</h4>
1247     <p>「レプリケーション」と一言でいいますが、レプリケーションをする
1248     ための技術はいくつかあり、それぞれ、利点と欠点があります。</p>
1249
1250     <p>マスタ/スレーブのレプリケーションは、読み/書きのクエリを受け取
1251     るシングルマスタが可能で、スレーブでは 読み/<small>SELECT</small>の
1252     問い合わせだけを受け付けることができます。最も人気がある、フリーで利
1253     用できる、マスタ−スレーブのPostgreSQLレプリケーションソリューション
1254     は、<a 
1255     href="http://main.slony.info/">
1256     Slony-I</a> です。</p>
1257
1258     <p>マルチ−マスタのレプリケーションは、読み/書きのクエリを受けと
1259     り、複数のレプリケートさせるコンピュータに送ることができます。この機
1260     能は、サーバ間の変更の同期が必要なため、性能に重大な衝撃を与えます。
1261     <a href="http://pgfoundry.org/projects/pgcluster/">PGCluster</a> は、
1262     このようなソリューションとしてPostgreSQLのためにフリーで利用できるも
1263     のとして、最も人気があります。</p>
1264
1265     <p>この他にも、商用やハードウェア−ベースのレプリケーションソリュー
1266     ションがいろいろなレプリケーションモデルをサポートしています。</p>
1267   
1268 <h3 id="item4.21">4.21</a>)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文字化(キャピタライズ)は温存されないのですか?</h3>
1269
1270     <p>名前が認識されない、最も一般的な原因は、テーブルを作成する際に、
1271     テーブルやカラムを囲う二重引用符の使用です。
1272     二重引用符を使うと、テーブルとカラムの名前(識別子といいます)は<a
1273     href="http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS">大文字と小文字の区別</a>
1274     をして格納されます。したがって、pgAdminのようにテーブル作成のときに
1275     自動的に二重引用符を使うものはクエリの中でそれらの名前を使うときに
1276     二重引用符を付けなくてはならないことを意味します。このため、識別子
1277     を認識させるためには以下のいずれかを心がけます。
1278
1279     <ul>
1280     <li>テーブルを作成するときに二重引用符で識別子を囲うことを避ける</li>
1281     <li>識別子には小文字だけを使う</li>
1282     <li>クエリの中で参照するときは二重引用符で識別子を囲う</li>
1283     </ul>
1284
1285
1286 <hr />
1287
1288 <h2 align="center">日本語に関する質問</h2>
1289
1290 <h3 id="item5.1">5.1</a>)日本語がうまく扱えないのはなぜですか?</h3>
1291
1292
1293     <p><i>createdb -E</i>コマンドオプションに UTF8 あるいは EUC_JP
1294     のエンコーディングを指定してデータベースを作成すか、次のように
1295     エンコーディングを指定してデータベースを作成してください。</p>
1296 <pre>
1297         CREATE DATABASE dbname WITH ENCODING 'UTF8';
1298     もしくは、
1299         CREATE DATABASE dbname WITH ENCODING 'EUC_JP';
1300 </pre>
1301
1302
1303 <h3 id="item5.2">5.2</a>) psql でWindowsからアクセスしたときに、日本語が文字化けするのですが?</h3>
1304
1305     <p><i>psql</i>の中でクライアントのエンコーディングを指定してください。</p>
1306 <pre>
1307         SET client_encoding TO 'SJIS'
1308 </pre>
1309     <p>PostgreSQLデータベースのエンコーディングに使える日本語文字コード
1310     は EUC_JP か UTF-8(UNICODE) であるため、Shift-JIS表示のコマンドプロ
1311     ンプトからは、client_encodingを設定しておかないと、日本語を表示する
1312     際に文字化けがおきます。</p>
1313
1314
1315 <h3 id="item5.3">5.3</a>) PostgreSQLで日本語の全文検索はできますか?</h3>
1316
1317     <p>バージョン8.3では、<i>TSearch2</i>全文検索機能が本体に組み込まれ
1318     ましたが、そのままでは日本語のインデックスを作る事が難しい状況です。
1319     これを解決するために、Takahiro Itagaki氏によって、Mecabという形態素
1320     解析プログラムを利用する日本語全文検索モジュール <a
1321     href="http://textsearch-ja.projects.postgresql.org/index-ja.html">textsearch_ja</a>
1322     が開発されました。TSearch2対応の製品をわずかに改修することで日本語対
1323     応にきます。
1324     </p>
1325
1326 <hr />
1327
1328 <h4 id="item-japanese">「日本語版について」</h4>
1329 <p><small><pre>
1330 [訳注:
1331   日本語版の製作については以下の通りです。
1332
1333   最終更新日:      2008年3月4日
1334   翻訳者:    桑村 潤 (<a href="mailto:juk at postgresql.jp">Jun KUWAMURA &lt;juk at postgresql.jp&gt;</a>)
1335
1336   このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
1337
1338                 田仲 稔(<a href="mailto:Tanaka.Minoru at keiken.co.jp">Minoru TANAKA &lt;Tanaka.Minoru at keiken.co.jp&gt;</a>)
1339                 石井 達夫(<a href="mailto:ishii at sraoss.co.jp">Tatsuo ISHII &lt;ishii at sraoss.co.jp&gt;</a>)
1340                 齊藤 知人(<a href="mailto:tomos at elelab.nsc.co.jp">Tomohito SAITOH &lt;tomos at elelab.nsc.co.jp&gt;</a>)
1341                 馬場  肇(<a href="mailto:baba at kusastro.kyoto-u.ac.jp">Hajime BABA &lt;baba at kusastro.kyoto-u.ac.jp&gt;</a>)
1342                 岡本 一幸(<a href="mailto:kaz-okamoto at hitachi-system.co.jp">Kazuyuki OKAMOTO &lt;kaz-okamoto at hitachi-system.co.jp&gt;</a>)
1343                 小菅 昭一(<a href="mailto:s-kosuge at str.hitachi.co.jp">Shoichi Kosuge &lt;s-kosuge at str.hitachi.co.jp&gt;</a>)
1344                 山下 義之(<a href="mailto:dica at eurus.dti.ne.jp">Yoshiyuki YAMASHITA &lt;dica at eurus.dti.ne.jp&gt;</a>)
1345                 境 真太郎(<a href="mailto:s_sakai at mxn.mesh.ne.jp">Sintaro SAKAI &lt;s_sakai at mxn.mesh.ne.jp&gt;</a>)
1346                 生越 昌己(<a href="mailto:ogochan at zetabits.com">Masami OGOSHI &lt;ogochan at zetabits.com&gt;</a>)
1347                 石川 俊行(<a href="mailto:tosiyuki at gol.com">Toshiyuki ISHIKAWA &lt;tosiyuki at gol.com&gt;</a>)
1348                 本田 茂広(<a href="mailto:fwif0083 at mb.infoweb.ne.jp">Shigehiro HONDA &lt;fwif0083 at mb.infoweb.ne.jp&gt;</a>)
1349                 せせ じゅん(<a href="mailto:sesejun at linet.gr.jp">Jun SESE &lt;sesejun at linet.gr.jp&gt;</a>)
1350                 神谷 英孝(<a href="mailto:hkamiya at catvmics.ne.jp">Hidetaka KAMIYA &lt;hkamiya at catvmics.ne.jp&gt;</a>)
1351                 菅原 敦(<a href="mailto:asugawar at f3.dion.ne.jp">Atsushi SUGAWARA &lt;asugawar at f3.dion.ne.jp&gt;</a>)
1352                 稲葉 香理(<a href="mailto:i-kaori at sraoss.co.jp">Kaori Inaba &lt;i-kaori at sraoss.co.jp&gt;</a>)
1353
1354   をはじめ、ポストグレスに関する話題豊富な日本語PostgreSQLメーリングリスト、
1355   和訳のきっかけを作ってくれたり、いつもチェックをしてくれる
1356    <a href="http://jf.linux.or.jp/">JF(Linux Japanese FAQ)プロジェクト</a>、FreeBSD ドキュメンテーションプロジェクト
1357   の方々、それから、直接あるいは間接的にかかわってくださるすべてのオープンソース
1358   コミュニティのみなさまに感謝いたします。
1359
1360
1361   この翻訳文書は <a href="http://www.postgresql.org/docs/faq/">本家 "Frequently Asked Questions" </a> のページに "Japanese FAQ" 
1362   という項目であります。
1363   
1364   また、最新版は以下のサイトにあります。
1365         <a
1366   href="http://www.postgresql.jp/wg/jpugdoc/">http://www.postgresql.jp/wg/jpugdoc/</a> 「JPUG文書・書籍関連分科会」
1367         <a href="http://www.linux.or.jp/JF/JFdocs/INDEX-database.html">http://www.linux.or.jp/JF/JFdocs/INDEX-database.html</a> 「Linux JFプロジェクト」        <a   href="http://www.linet.gr.jp/~juk/pgsql/">http://www.linet.gr.jp/~juk/pgsql/</a> 「PostgreSQL Notes for Japanese」(翻訳者ページ)
1368
1369   なお、この和訳に関するご意見・ご質問は(<a href="mailto:juk at
1370   postgresql.jp">juk at postgresql.jp</a>)までお寄せください。
1371   (※ メールアドレスの " at " は適切に直してください。半角の "@" です。)
1372 ]
1373 </pre></small></p>
1374
1375 </div>
1376
1377 </BODY>
1378 </HTML>