]> granicus.if.org Git - postgresql/blob - doc/src/FAQ/FAQ_japanese.html
Update Japanese FAQ.
[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>原文最終更新日:       Thu Apr 24 15:58:18 EDT 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 はどうなのですか? 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.1 です。</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はどうなのですか? 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     PostgreSQLはクライアント/サーバ・アーキテクチャで設計されていて、
549     クライアントとサーバおよびそれを補助するいろいろなプロセスが別々に走
550     ることが要求されます。多くの組み込みアーキテクチャはこのような要求を
551     サポート可能です。しかし、お使いになっている組み込みアーキテクチャに
552     よっては、データベースサーバがアプリケーション・プロセスの中で走るこ
553     とを要求される場合があり、Postgresを使うことはできないので、軽量のデー
554     タベースソリューションを選択すべきです。
555    </p>
556
557 <h3 id="item1.14">1.14) PostgreSQLは国毎の最新の夏時間の変更を扱いますか?</h3>
558
559    <p>合州国の夏時間の変更は、PostgreSQLのリリース8.0.4以降[4+]と、その
560       後のメジャーリリース、たとえば 8.1 には含まれています。カナダとオー
561       西部ストラリアの変更は、8.0.[10+], 8.1.[6+] および、その後のメジャー
562       リリースのすべてに含まれます。8.0より前のPosrgreSQLではオペレーティ
563       ングシステムのタイムゾーンデータベースを夏時間情報のために使ってい
564       ます。</p>
565
566 <hr />
567
568 <h3 id="item1.15">1.15)  PostgreSQLのメーリングリストの購読をやめるにはどうすればよいですか?また、電子メールを重複して受け取らないようにするにはどうしますか?
569 </h3>
570
571     <p>PostgreSQLの<a
572     href="http://mail.postgresql.org/mj/mj_wwwusr/domain=postgresql.org?user=&amp;passw=&amp;func=login">Majordomo</a>
573     ページから、PostgreSQLに関する複数のメーリングリストの購読の開始と中止
574     ができるようになっています。(ログインするためにはMajaordomoから送ら
575     れる御本人のパスワードが必要になります。)</p>
576
577     <p>PostgreSQLnoすべてのメーリングリストでは、返信はメーリングリスト
578     と<i>かつ</i>元のメールの投稿者へ送られるように構成してあります。こ
579     れにり利用者は、もっとも迅速にメールへの返信を受けられるようになって
580     います。既に直接受け取っているメールを、リストから重複して受け取りた
581     くない場合は、Majordomo の<i>Change Settings</i>ページから、
582     <i>eliminatecc</i>をチェックします。また、<i>selfcopy</i>のチェック
583     をはずすことで、自分の送ったメールのコピーを受け取らないようにもでき
584     ます。</p>
585
586
587 <h2 align="center">ユーザ・クライアントの質問</h2>
588
589
590 <h4 id="item2.1">2.1</a>) PostgreSQL にはどんなインターフェースが使えますか?</h4>
591
592     <p>PostgreSQL のインストールに含まれる物は<small>C</small>と組込み
593     <small>C</small>のインターフェースだけです。その他のインターフェース
594     は独立したプロジェクトで、別々にダウンロードされます。分かれることで、
595     それぞれの開発チームが独自のリリーススケジュールを持つことが許されま
596     す。</p>
597
598     <p><small>PHP</small> のようないくつかのプログラミング言語は、
599     PostgreSQLのインターフェースを含んでいます。Perl, <small>TCL</small>,
600     Python, そして、そのほかの利用可能な言語のインターフェースは、<a 
601     href="http://pgfoundry.org">http://pgfoundry.org</a>
602     の <i>Drivers/Interfaces</i> の節の中とインターネットの検索でみつけ
603     られます。
604     </p>
605
606
607 <h4 id="item2.2">2.2</a>) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?</h4>
608
609     <p> データベースを裏に持つ Web ページについての素晴らしい紹介が、<br />
610     <a href="http://www.webreview.com">http://www.webreview.com</a>にあります。</p>
611     <p> Web への拡張のためには、PHP(<a  href="http://www.php.net">http://www.php.net/</a>)
612      が卓越したインターフェースとなっています。</p>
613
614     <p><small><pre>
615     [訳注:
616           PHPに関する日本語の情報は、2000年4月19日に発足した日本PHPユーザ会のサイト
617                 <a href="http://www.php.gr.jp/">http://www.php.gr.jp/</a>
618         あるいは、廣川 類さんのサイト
619                 <a href="http://www.geocities.jp/rui_hirokawa/php/">http://www.geocities.jp/rui_hirokawa/php/</a>
620         にかなりまとめられています。
621     ]
622     </pre></small></p>
623
624     <p> 処理が複雑な場合、多くの人は Perl インターフェースと CGI.pm か
625     mod_perl を使います。 </p>
626
627
628 <h4 id="item2.3">2.3</a>) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?</h4>
629
630
631     <p>商用とオープンソース開発者によるもの両方で、PostgreSQLには多くのGUIツールが利用可能で、詳細なリストは、<a href="http://www.postgresql.org/docs/techdocs">PostgreSQLコミュニティ文書</a> でごらんください。</p>
632
633     <p><small><pre>
634     [訳注:
635         pgAdmin3 はPostgreSQL標準GUI管理ツールで、Windows版(PostgreSQL
636         for Windows) に同梱されています。詳しい情報は、
637         <a href="http://www.pgadmin.org/">http://www.pgadmin.org/</a>にあります。
638     ]
639     </pre></small></p>
640
641 <hr />
642
643 <h2 align="center">管理上の質問</h2>
644
645 <h4 id="item3.1">3.1</a>) どのようにすれば <i>/usr/local/pgsql</i> 以外の場所にインストールできますか?</h4>
646
647     <p> 簡単な方法は、 <i>configure</i> を走らせるときに --prefix オプショ
648     ンを指定することです。 </p>
649
650
651 <h4 id="item3.2">3.2</a>) 他のホストからの接続はどのように制御しますか?</h4>
652
653     <p>既定値では、PostgreSQL は Unix ドメインソケット、または、TCP/IP接
654      続のローカルマシンからの接続しか許しません。postgresql.conf の中の
655      listen_addresses を修正し、<b>かつ</b>、<i>$PGDATA/pg_hba.conf</i>
656      ファイルを適切に直し、データベースサーバを再起動して、ホストベース
657      の認証を有効にしないかぎりは、他のマシンからは接続できないでしょう。</p>
658
659
660 <h4 id="item3.3">3.3</a>) より良い性能を得るためには、データベース・エンジンをどのように調整しますか?</h4>
661  
662     <p>性能改善の可能性のありそうな主な領域が3つあります:</p>
663     <dl>
664     <dt><b>クエリの変更</b></dt>
665
666     <dd>クエリを修正してより良い性能を得ることを含みます:
667     <ul>
668     <li>式および部分インデックスを含む、インデックスを作成</li>
669     <li>複数の<small>INSERT</small>のかわりにCOPYを使用</li>
670     <li>複数の文をグループ化し、1つのトランザクションにしてコミットのオーバヘッドを削減</li>
671     <li>インデックスからから沢山のロウを取り出すときは<small>CLUSTER</small>を使用</li>
672     <li>クエリの出力のサブセットを返すために<small>LIMIT</small>を使用</li>
673     <li>準備されているクエリを使用</li>
674     <li>オプティマイザの正確な統計を維持するために<small>ANALYZE</small>を使用</li>
675     <li><small>VACUUM</small> または <i>pg_autovacuum</i> の常用</li>
676     <li>大きなデータ変更のあるときはインデックスを削除</li>
677     </ul><br/>
678     <br/>
679     </dd>
680
681     <dt><b>サーバ構成</b></dt>
682
683     <dd><i>postgresql.conf</i>の設定のいくつかは性能に影響します。
684     詳しくは、<a href=
685     "http://www.postgresql.org/docs/current/static/runtime-config.html">
686     Administration Guide/Server Run-time Environment/Run-time
687     Configuration</a> の全件リストをごらんください(<a
688     href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html">
689     JPUGサイトの日本語版、サーバの構成</a>)。
690     そして、解説として、<a
691     href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html">
692     http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html</a>
693     および、 <a href="http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html">
694     http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html</a> を
695     ごらんください。
696     <br/>
697     <br/>
698     </dd>
699
700     <dt><b>ハードウェアの選定</b></dt>
701
702     <dd>性能におけるハードウェアの影響は
703     <a href="http://www.powerpostgresql.com/PerfList/">
704     http://www.powerpostgresql.com/PerfList/</a> と、 <a
705     href="http://momjian.us/main/writings/pgsql/hw_performance/index.html">
706     http://momjian.us/main/writings/pgsql/hw_performance/index.html</a>
707     (<a href="http://www.postgresql.jp/wg/psqltrans/hw_performance_j/index.html">JPUGサイトの日本語版</a>)
708     に述べられています。
709     <br/>
710     <br/>
711     </dd>
712     </dl>
713
714
715     <p><small><pre>
716     [訳注:
717       JPUG理事長の片岡裕生氏による、「今すぐできるPostgreSQLチューニング」
718       というコーナーが ThinkIT サイトにあり、実作業の参考になります。
719         http://www.thinkit.co.jp/free/tech/10/1/1.html
720     ]
721     </pre></small></p>
722
723
724 <h4 id="item3.4">3.4</a>) どのようなデバグ機能が使えますか?</h4>
725
726     <p>サーバ構成変数には多くの <code>log_*</code> があり、クエリとプロ
727     セスの統計を出力することができ、デバグと性能計測にとても便利です。</p>
728
729
730 <h4 id="item3.5">3.5</a>) 接続しようとするときに <i>'Sorry, too many clients'</i> が出るのはなぜですか?</h4>
731
732     <p> 既定での制限である 100 のデータベースセッションに達してしまって
733     います。サーバーの同時接続できるバックエンドプロセスの制限値を増やす
734     必要があります。<i>postgresql.conf</i> の中の<i>max_connections</i>
735     の値を変更してサーバを再起動することで可能になります。</p>
736
737
738 <h4 id="item3.6">3.6</a>)  PostgreSQLのアップグレードの手順はどうなりますか?</h4>
739
740     <p>バージョン番号付けの方針について、更新全般についての解説は<a
741     href="http://www.postgresql.org/support/versioning">http://www.postgresql.org/support/versioning</a> を、
742     そして、アップグレードについての一般的な説明は <a 
743     href="http://www.postgresql.org/docs/current/static/install-upgrading.html">
744     http://www.postgresql.org/docs/current/static/install-upgrading.html</a>
745     をご覧ください。
746     </p>
747 <p><small><pre>
748 [訳注:
749    アップグレードについての和訳版は下記にあります。
750   <a href="http://www.postgresql.jp/document/current/html/install-upgrading.html">http://www.postgresql.jp/document/current/html/install-upgrading.html</a>
751 ]
752 </pre></small></p>
753
754
755 <small><pre>
756 [訳注:
757    原文では、下記の内容は<a href="http://www.postgresql.org/support/versioning">独立したページに移され</a>、削除されています。
758 </pre>
759
760     <p>新しい機能を盛り込むPostgreSQLのメジャーリリースはだいたい年に1回
761     程度行ないます。メジャーリリースは、たとえば、8.1から8.2へのように、
762     バージョン番号の1番目か2番目の部分を増やしてゆきます。</p>
763
764     <p>PostgreSQLのメジャーリリースは通常、システムテーブルとデータの内
765     部フォーマットを変更します。これらの変更はたいていは複雑なのでで、デー
766     タファイルの後方互換性を維持したりはしません。メジャーアップグレード
767     のためには、データベースのダンプ/リロードが必要になります。</p>
768
769     <p>マイナーリリースは、たとえば、8.1.5 から8.1.6へのように、バージョ
770     ン番号の3番目の値を増やします。PostgreSQLチームは、マイナーリリース
771     に対しては、バグフィクスしか行ないません。すべてのユーザは、できるだ
772     け最新のマイナーリリースに更新すべきです。アップグレードには、常にリ
773     スクがつきものですから、PostgreSQLのマイナー修正リリースでは、頻繁に
774     発生したり、<a href="http://www.postgresql.org/support/security">セキュリティ</a>に関係したり、データがつぶれるバグだけを修正
775     し、アップグレードのリスクを最小限にとどめます。我々のコミュニティで
776     は、アップグレードするリスクよりも、アップグレード<i>しないリスク</i>
777     のほうが高いと考えています。</p>
778
779     <p>マイナーリリースのアップグレードにはダンプとリストアの必要はなく、
780     データベースサーバを停止して、アップデートされたバイナリをインストー
781     ルし、サーバをリスタートします。</p>
782 <pre>
783 ]
784 </pre></small>
785
786
787 <h4 id="item3.7">3.7</a>) ハードウェアにはどのようなコンピュータを使えばよいですか?</h4>
788
789     <p>PCハードウェアはほとんど互換性がありますので、ほとんどの人は、す
790     べてのPCハードウェアが同じ品質だと思い込む傾向があります。しかし、そ
791     れは間違いです。ECC RAM、SCSI、および、高品質マザーボードは、安いハー
792     ドウェアに比べると、より信頼性が高く、より性能も良いのです。
793     PostgreSQL はほとんどのハードウェアで稼働しますが、信頼性や性能が重
794     要な場合は、使用中のハードウェアのオプションについて調査することが
795     賢明です。我々のメーリングリスト上でもハードウェアオプションのトレー
796     ドオフについて議論することができます。</p>
797
798 <hr />
799
800
801 <h2 align="center">操作上の質問</h2>
802
803 <h4 id="item4.1">4.1</a>) 最初の数ロウのみを <small>SELECT</small>するにはどうしますか?ランダムなロウ?
804 </h4>
805
806     <p>たったの数行のロウを取り出すために、何行必要かがわかれば、
807     <small>SELECT</small> のときに <small>LIMIT</small> を使います。
808     <small>ORDER BY</small>にインデックスがマッチした場合、まったくクエ
809     リが実行されないこともあります。<small>SELECT</small> のときに何行
810     が必要かを知らなければ、カーソルを使い<small>FETCH</small>します。</p>
811
812    <p>ランダムロウを<small>SELECT</small>するには、次の文を使います: 
813 <pre>
814     SELECT col
815     FROM tab
816     ORDER BY random()
817     LIMIT 1;
818 </pre>
819
820
821 <h4 id="item4.2">4.2</a>) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?<i>psql</i>で使われているクエリを表示するにはどうしますか?</h4>
822
823     <p><i>psql</i> の中で \dtコマンドを使ってテーブルを見ることができ
824     ます。psqlの中で \? を使って、コマンドの全リストを調べることができま
825     す。一方で、<i>psql</i> のソースコードで、バックスラッシュコマンドを
826     出力する <i>pgsql/src/bin/psql/describe.c</i> ファイルを読むこともで
827     きます。その中には、 <small>SQL</small> コマンドを生成する部分も含ま
828     れます。また、 <i>-E</i> オプションを付けて <i>psql</i> を開始すると、
829     入力されたコマンドを実行するためのクエリを印字出力するようになります。
830     PostgreSQLは <small>SQL</small> 準拠の INFORMATION SCHEMA インター
831     フェースを提供しますので、データベースについての情報を問い合わせるこ
832     ともできます。</p>
833
834     <p><i>pg_</i> で始まるシステムテーブルでもこれらを記述することができ
835     ます。</p>
836     
837     <p><i>psql -l</i>を使うと全てのデータベースをリストします。</p>
838
839     <p>それと、<i>pgsql/src/tutorial/syscat.source</i> を試してみてくだ
840     さい。そこには、データベースのシステムテーブルから情報を得るために必
841     要な <small>SELECT</small> 文が沢山あります。</p>
842
843
844 <h4 id="item4.3">4.3</a>) カラムのデータ型を変更するにはどうしますか?</h4>
845
846     <p>カラムのデータ型の変更は 8.0 以降では、
847     <small>ALTER TABLE ALTER COLUMN TYPE</small> を使うことにより間単に
848     なりました。</p>
849
850     <p>それより前のバージョンでは、以下のようにします:</p>
851 <pre>
852     BEGIN;
853     ALTER TABLE tab ADD COLUMN new_col <i>new_data_type</i>;
854     UPDATE tab SET new_col = CAST(old_col AS <i>new_data_type</i>);
855     ALTER TABLE tab DROP COLUMN old_col;
856     COMMIT;
857 </pre>
858
859     <p>これを行なったときは、抹消された行が使っているディスク空間を回収
860     するために<i>VACUUM FULL tab</i>をしたほうが良いかもしれません。</p>
861
862 <h4 id="item4.4">4.4</a>) ロウ、テーブル、データベースの最大サイズは?</h4>
863
864     <p>制限は以下のとおりです:</p>
865 <blockquote>
866 <table>
867 <tr><td>データベースの最大サイズ?</td><td>制限無し (32 TB のデータベースも存在します)</td></tr>
868 <tr><td>テーブルの最大サイズ?</td><td>32 TB</td></tr>
869 <tr><td>ロウの最大サイズ?</td><td>400 GB</td></tr>
870 <tr><td>フィールドの最大サイズ?</td><td>1 GB</td></tr>
871 <tr><td>テーブル内での最大ロウ数?</td><td>制限無し</td></tr>
872 <tr><td>テーブル内での最大カラム数?</td><td>カラムの型によって 250-1600</td></tr>
873 <tr><td>テーブル内での最大インデックス数?</td><td>制限無し</td></tr>
874 </table>
875 </blockquote>
876
877     <p> もちろん、これらは実際は無制限ではなく、ディスク容量とメモリーや
878     スワップスペースの大きさにより制限されます。性能はこれらの値がことの
879     ほか大きな時に煽りを受けます。</p>
880
881     <p> 最大テーブルサイズの32TBはオペレーティングシステムによる巨大ファ
882     イルのサポートは必要としません。巨大なテーブルは複数の1GBのファイル
883     に分けて保存されますので、ファイルシステムの制限は重要ではありません。
884     </p>
885
886     <p> デフォルトのブロックサイズを32kに増加することで、最大テーブルサイズ
887     と行サイズと最大カラム数とを4倍にすることができます。また、最大テーブル
888     サイズはテーブルパーティションを使って増やすこともできます。</p> 
889
890     <p>ひとつの制限は、約2,000文字以上の長さのカラムにインデックスを付
891     けることができないことです。 幸いにも、そのようなインデックスは実際
892     は必要ありません。長いカラムのMD5ハッシュの関数インデックスは一意性
893     がなによりの保険で、また、フルテキストのインデックスではカラム内の
894     単語を検索することができます。</p>
895
896 <h4 id="item4.5">4.5</a>) 一般的なテキストファイルのデータを保存するには、データベースのディスク容量はどのくらい必要です?</h4>
897
898     <p>普通のテキストファイルを PostgreSQL のデータベースに保存するには、
899     最大で約5倍のディスク容量を必要とします。</p>
900
901
902     <p> 例題として、各行に整数とテキスト記述を持つ 100,000行のファイルを
903     考えてみましょう。テキストの文字列の平均長さを20バイトと仮定すると、
904     フラットファイルの大きさは約2.8MB です。このデータを含む PostgreSQL
905     データベースファイルの大きさは次のように約5.2MBと見積もることができ
906     ます: 
907
908 <pre>
909     24 bytes: 各ロウのヘッダ(概算)
910     24 bytes: 整数(int)フィールドとテキスト(text)フィールド
911    + 4 bytes: ページ上のタップルへのポインタ
912    ----------------------------------------
913     52 bytes per row
914
915    PostgreSQL のデータページサイズは 8192バイト(8KB)なので:
916
917    8192 bytes per page
918    -------------------   =  146 rows per database page (切り捨て)
919      52 bytes per row
920
921    100000 data rows
922    --------------------  =  633 database pages (切り上げ)
923       158 rows per page
924  
925   633 database pages * 8192 bytes per page  =  5,185,536 bytes (5.2 MB)
926 </pre>
927
928     <p>インデックスは、これほどのオーバヘッドは要求しませんが、インデッ
929    クス付けされるデータを含む以上、それなりに大きくなります。 </p>
930     <p><small>NULL</small>はビットマップとして保存されていて、それらがわ
931     ずかにスペースを使います。</p>
932
933
934 <h4 id="item4.6">4.6</a>) クエリが遅いのはなぜでしょう? なぜ、インデックスが使われないのでしょうか?</h4>
935
936     <p>インデックスは、すべてのクエリで使われるわけではありません。テー
937     ブルが最小サイズより大きく、クエリでそのわずかなパーセンテージのロウ
938     を選択する時だけ、インデックスは使われます。これはインデックススキャ
939     ンにより起こされるランダムなディスクアクセスは、テーブルをストレート
940     に読む順次走査よりも遅くなることがあるからです。 </p>
941
942     <p>インデックスを使うかを決定するために、PostgreSQL はテーブルについ
943     ての統計情報を持たなければなりません。この統計情報は、
944     <small>VACUUM ANALYZE</small>または、単に <small>ANALYZE</small> を使っ
945     て収集することができます。統計情報を使ってオプティマイザはテーブルの
946     中にあるロウ数を知り、インデックスを使うべきかの決定をより正しくでき
947     ます。統計情報は最適な結合順や結合方法を決める上でも貴重なものもあり
948     ます。統計情報の収集は、テーブルの内容が変わる毎に繰返しなされるべ
949     きです。</p>
950
951     <p> インデックスは、通常 <small>ORDER BY</small> や結合を行なうため
952     には使われません。順次スキャンに続く明示的ソートは、巨大なテーブルの
953     インデックススキャンよりも普通は高速です。</p>
954
955     しかし、<small>ORDER BY</small>と組み合わされた<small>LIMIT</small>
956     は、テーブルの小さな部分を返すためにたびたびインデックスを使うでしょ
957     う。
958
959     <p>もし、オプティマイザが間違ってシーケンシャルスキャンを選択したこ
960     とに疑いがなければ、<CODE>SET enable_seqscan TO 'off'</CODE>に設定し
961     て、クエリをもう一度実行し、インデックススキャンがまちがいなく速くなっ
962     ているかどうかをみてください。</p> 
963
964     <p> <small>LIKE</small> あるいは <i>~</i> のようなワイルドカード演算
965     子は特別な環境でしか使えません:
966     <ul>
967     <li>検索文字列が文字列の最初にききます。たとえば:</li>
968         <ul>
969          <li><small>LIKE</small> パターンが<i>%</i>で始まらない</li>
970          <li><i>~</i> (正規表現) パターンは<i>^</i>で始まらなければならない</li>
971         </ul>
972     <li>検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。</li>
973     <li><small>ILIKE</small> や <i>~*</i> のような大文字と小文字を区別し
974         ない検索は使えません。そのかわり、このFAQの<a
975         href="#item4.8">4.8</a>節で説明する式インデックスが使えます。
976         </li> 
977     <li><i>initdb</i> においては、デフォルトで<i>C</i>ロケールが使われな
978         くてはなりません。その理由は、Cロケール以外では次に大きな文字を
979         知ることができないからです。このような場合、<pre>LIKE</pre>イン
980         デクシングにだけ働くような、特別な<pre>text_pattern_ops</pre>イ
981         ンデックスを作成することもできます。また、それを全文検索のフル
982         テキストのインデックス作成に使うことができます。
983         </li>
984     </ul>
985     <p>
986
987
988 <h4 id="ITEM4.7">4.7</a>) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどうしますか?</h4>
989
990     <p>オンラインマニュアルで <small>EXPLAIN</small> を見てください。</p>
991
992 <h4 id="item4.8">4.8</a>) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使いますか?</h4>
993
994     <p><i>~</i>演算子は正規表現照合を行ない、<i>~*</i> は大文字と小文字
995     を区別しない(case-insensitive)正規表現照合を行います。 大文字と小文
996     字を区別しない <small>LIKE</small> 演算子を <small>ILIKE</small> と
997     いいます。</p>
998
999     <p>大文字と小文字を区別しない等値比較は次のように表現できる:
1000 <pre>
1001     SELECT *
1002     FROM tab
1003     WHERE lower(col) = 'abc';
1004 </pre>
1005
1006     <p>標準インデックスでは使われず、しかしながら、もし、式インデックス
1007     を作ったならそれが使われるでしょう。</p>
1008
1009 <pre>
1010     CREATE INDEX tabindex ON tab (lower(col));
1011 </pre>
1012
1013     <p>上記のインデックスが<small>UNIQUE</small>で作成された場合、カラム
1014     は大文字と小文字を格納できますが、その違いが文字ケースだけであっても
1015     同一にはなりません。あえて特定の文字ケースをカラムに格納するには
1016     <small>CHECK</small>制約か、トリガーを使ってください。</p>
1017
1018
1019
1020 <h4 id="item4.9">4.9</a>) クエリの中で、フィールドが<small>NULL</small> であることを検出するにはどうしますか? <small>NULL</small> であることを検出するにはどうしますか? フィールドが<small>NULL</small>かどうかでどのようにソートができますか?</h4>
1021
1022     <p>以下のように、<small>IS NULL</small> と <small>IS NOT
1023     NULL</small>で、そのカラムをテストしてみます:</p> 
1024
1025 <pre>
1026    SELECT *
1027    FROM tab
1028    WHERE col IS NULL;
1029 </pre>
1030
1031 <small>NULL</small>の可能性のあるものを連結するには、<i>COALESCE()</i>を
1032 次のように使います。
1033
1034 <pre>
1035    SELECT COALESCE(col1, '') || COALESCE(col2, '')
1036    FROM tab
1037 </pre>
1038
1039    <p><small>NULL</small>状態でソートするには、<small>IS NULL</small> と
1040    <small>IS NOT NULL</small> の修飾子を <small>ORDER BY</small> 句の中
1041    で使ってみます。<i>true</i> のものは <i>false</i> のものよりも高い値
1042    として並べられますので、次の例では NULL の記載が結果リストの上部に置
1043    かれます。
1044
1045 <pre>
1046    SELECT *
1047    FROM tab
1048    ORDER BY (col IS NOT NULL)
1049 </pre>
1050
1051
1052 <h4 id="item4.10">4.10</a>) いろいろな文字型のそれぞれの違いは何ですか?
1053 </h4>
1054
1055 <blockquote>
1056 <table>
1057 <tr><th>型</th><th>内部名</th><th>備考</th></tr>
1058 <tr><td>VARCHAR(n)</td><td>varchar</td><td>最大長のサイズを指定する、詰め物無し</td></tr>
1059 <tr><td>CHAR(n)</td><td>bpchar</td><td>指定された固定長となるように空白が詰められる</td></tr>
1060 <tr><td>TEXT</td><td>text</td><td>長さに特別な上限は無し</td></tr>
1061 <tr><td>BYTEA</td><td>bytea</td><td>可変長のバイト配列(null-byte safe)</td></tr>
1062 <tr><td>"char"</td><td>char</td><td>1文字</td></tr>
1063 </table>
1064 </blockquote>
1065
1066     <p> 内部名にお目にかかるのは、システム・カタログを調べるときや、エラー
1067     メッセージを受け取るときです。</p>
1068
1069     <p> 上記の型のうち最初の4つの型は "varlena" 型です(すなわち、ディス
1070     クの最初の4バイトがデータ長で、それの後に実際のデータが続きます)。
1071     このように実際の空間は宣言された大きさよりも少し大きくなります。しか
1072     し、長い値は圧縮されるので、ディスク上の空間は思ったよりも小さくなります。</p>
1073
1074     <p><small>VARCHAR(n)</small> は可変長の文字列を保存するのに最適です
1075     が、保存できる文字列の長さに制限があります。<small>TEXT</small> は長
1076     さに制限の無い文字列の保存のためのもので、最大で 1ギガバイトです。
1077     <small>CHAR(n)</small>は、<small>VARCHAR(n)</small>が与えられた文字
1078     だけを保存するのに対し、ブランクを詰め込んでいつも同じ長さで文字列を
1079     保存するのに最適です。<small>BYTEA</small>は、部分的に
1080     <small>NULL</small> のバイトを含むバイナリデータを保存するためのもの
1081     です。これらのタイプは同じくらいの性能特性をもちます。</p>
1082
1083
1084 <h4 id="item4.11.1">4.11.1</a>) 通番(serial)/自動増分フィールドはどのようにつくりますか?</h4>
1085
1086     <p> PostgreSQL は <small>SERIAL</small> データ型をサポートします。カ
1087     ラム上にシーケンスを自動作成します。たとえば、</p>
1088
1089 <pre>
1090     CREATE TABLE person ( 
1091         id   SERIAL, 
1092         name TEXT 
1093     );
1094 </pre>
1095     は自動的に次のように翻訳されます:
1096 <pre>
1097     CREATE SEQUENCE person_id_seq;
1098     CREATE TABLE person ( 
1099         id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
1100         name TEXT
1101     );
1102 </pre>
1103
1104     <p><small><pre>
1105     [訳注:
1106         CREATE UNIQUE INDEX person_id_key ON person ( id );
1107         は、 7.3 以降は自動的には行なわれなくなりました。
1108     ]
1109     </small></pre></p>
1110
1111     <p>自動的につくられる通番は、
1112         &lt;<i>table</i>&gt;_&lt;<i>serialcolumn</i>&gt;_<i>seq</i>
1113     と名付けられていて、<i>table</i> と <i>serialcolumn</i> は、それぞれ
1114     テーブルと <small>SERIAL</small> カラムの名前です。
1115     通番については、オンラインマニュアルで<i>create_sequence</i> 
1116     をごらんください。</p>
1117
1118
1119 <h4 id="item4.11.2">4.11.2</a>) <small>SERIAL</small>データ型に挿入される値は、どうすれば得られますか?</h4>
1120
1121     <p>最も簡単な方法は、割り当てられた<small>SERIAL</small>値を
1122     <small>RETURNING</small>として取得することです。
1123     <a href="#item4.11.1">4.11.1</a>の例題テーブルを使うと次のように
1124     なります。
1125
1126 <pre>
1127     INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id;
1128 </pre>
1129
1130
1131 <h4 id="item4.11.3">4.11.3</a>) <i>currval()</i> は他のユーザとの競合状態に陥ることはないですか?</h4>
1132
1133     <p>それはありません。<i>currval()</i> は、すべてのユーザではありませ
1134     んが、読者のセッションに与えられた現在の値を返します。 </p>
1135
1136
1137 <h4 id="item4.11.4">4.11.4</a>) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?</h4>
1138
1139     <p>同時性を改善するために、実行中のトランザクションに、必要に応じてト
1140     ランザクションが終了するまでロックされないようシーケンス値を与えてい
1141     ます。このためトランザクションが中断されると番号割り当てにギャップを
1142     生じます。</p> 
1143
1144
1145 <h4 id="item4.12">4.12</a>) <small>OID</small> とは何ですか? <small>CTID</small> とは何ですか?</h4>
1146
1147     <p>テーブルが<small>WITH OIDS</small>でつくられた場合は、それぞれの
1148     ロウに一意な<small>OID</small>が取られます。
1149     <small>OID</small>は自動的に4バイトの整数で与えられ、それは、全イン
1150     ストレーションを通して一意な値となります。しかし、約40億でオーバーフ
1151     ローし、そして、<small>OID</small>は重複をしはじめます。PostgreSQLは
1152     内部システムテーブルを一緒にリンクするために<small>OID</small> を使
1153     います。
1154
1155     <p>ユーザのテーブルのカラムに一意の番号を付けるためには、
1156     <small>OID</small> ではなく <small>SERIAL</small> を使うのが最もよい
1157     でしょう。<small>SERIAL</small>の連番は1つのテーブル内でのみ一意にな
1158     るからで、オーバーフローを起こしにくいと考えられます。
1159     8バイトのシーケンス値を保存するために、<small>SERIAL8</small>があり
1160     ます。</p>
1161
1162     <p><small>CTID</small> は、特定の物理ロウをブロックとオフセットの値
1163     で識別するために使われます。<small>CTID</small>は、ロウが修正された
1164     り再読込みされたときに変わります。また、物理ロウを差すためにインデッ
1165     クスの記載に使われます。</p>
1166
1167
1168 <h4 id="item4.13">4.13</a>) エラーメッセージ <i>"ERROR: Memory exhausted in AllocSetAlloc()"</i>が出るのはなぜですか?</h4>
1169
1170     <p>おそらく、システムの仮想メモリーを全て使い果たしてしまっている可
1171     能性があるか、カーネルがあるリソースについてもつ制限値が低すぎる可能
1172     性があります。サーバを始動する前にこれを試してみてください:</p>
1173
1174 <pre>
1175     ulimit -d 262144
1176     limit datasize 256m
1177 </pre>
1178
1179     シェルによって、どちらかひとつが成功するでしょうが、これはプロセスの
1180     データセグメント制限をより高く設定し、たぶんクエリが完結するようにな
1181     るでしょう。このコマンドは現行のプロセスと、このコマンドを走らせた後
1182     に作られる全てのサブプロセスについて適用されます。バックエンドがとて
1183     も多くのデータを返すために<small>SQL</small> クライアントで問題が続
1184     いているのであれば、クライアントを開始する前にこれを試してみてくださ
1185     い。 
1186
1187 <h4 id="item4.14">4.14</a>) どのバージョンの PostgreSQL を走らせているかを調べるにはどうしますか?<br /></h4>
1188
1189     <p><i>psql</i> から <CODE>SELECT version();</CODE> をタイプします。</p>
1190
1191
1192 <h4 id="item4.15">4.15</a>) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?<br /></h4>
1193
1194     <p><i>CURRENT_TIMESTAMP</i>を使います:</p>
1195 <pre>
1196     CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
1197 </pre>
1198
1199
1200 <h4 id="item4.16">4.16</a>) <i>外部</i>結合(<i>outer</i> join)はどのように実現しますか?<br /></h4>
1201
1202     <p>PostgreSQL は SQL 標準構文を使う外部結合(アウタージョイン)をサポー
1203     トします。ここに 2つの例題があります。</p> 
1204
1205 <pre>
1206     SELECT *
1207     FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
1208 </pre>
1209 あるいは
1210 <pre>
1211     SELECT *
1212     FROM t1 LEFT OUTER JOIN t2 USING (col);
1213 </pre>
1214
1215 これらの象徴的なクエリでは 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>結合と呼ばれます。
1216
1217
1218 <h4 id="item4.17">4.17</a>) 複数のデータベースを使う問い合わせはどのようにすればできますか?</h4>
1219
1220     <p>現行のデータベース以外への問い合わせの方法はありません。というの
1221     もPostgreSQLがデータベース仕様のシステムカタログを読み込むためで、そ
1222     こには、たとえそのふりをするだけにしろ、データベースを越えて問い合わ
1223     せをするすべがありません。 </p>
1224
1225     <p><i>contrib/dblink</i> はデータベース間(cross-database)の問い合わ
1226     せを関数呼出しにより許します。もちろん、クライアントは同時に接続を別
1227     のデータベースへも張らなくてはならず、結果をクライアント側でマージし
1228     なくてはなりません。</p>
1229
1230
1231 <h4 id="item4.18">4.18</a>) 関数から複数のロウまたはカラムを返すにはどうしますか?</h4>
1232
1233     <p>集合を返す関数(Set Returning Functions):
1234     <a href="http://www.postgresql.org/docs/techdocs.17">
1235     http://www.postgresql.org/docs/techdocs.17</a></p>
1236     を使うと簡単です</p>。
1237
1238
1239 <h4 id="item4.19">4.19</a>) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?</h4>
1240
1241     <p>バージョン8.3より前の PostgreSQL では、PL/PgSQL は関数スクリプトを
1242     キャッシュしたため、運悪くその副作用がありました。PL/PgSQL 関数が一時
1243     テーブルにアクセスして後でそのテーブルを消して作りした場合に、関数が
1244     もう一度呼び出されたときは、その関数のキャッシュしていた内容がまだ古い
1245     一時テーブルを指し示したままだったからです。
1246     この、解決策として、PL/PgSQLの中で <small>EXECUTE</small> を一時テー
1247     ブルへのアクセスのために使います。そうすると、クエリは毎回パースをや
1248     り直しされるようになります。</p>
1249
1250     <p>この問題は、 PostgreSQL バージョン8.3 以降では起きません。</p>
1251
1252
1253 <h4 id="item4.20">4.20</a>) どのようなレプリケーションのソリューションがありますか?</h4>
1254     <p>「レプリケーション」と一言でいいますが、レプリケーションをする
1255     ための技術はいくつかあり、それぞれ、利点と欠点があります。</p>
1256
1257     <p>マスタ/スレーブのレプリケーションは、読み/書きのクエリを受け取
1258     るシングルマスタが可能で、スレーブでは 読み/<small>SELECT</small>の
1259     問い合わせだけを受け付けることができます。最も人気がある、フリーで利
1260     用できる、マスタ−スレーブのPostgreSQLレプリケーションソリューション
1261     は、<a 
1262     href="http://main.slony.info/">
1263     Slony-I</a> です。</p>
1264
1265     <p>マルチ−マスタのレプリケーションは、読み/書きのクエリを受けと
1266     り、複数のレプリケートさせるコンピュータに送ることができます。この機
1267     能は、サーバ間の変更の同期が必要なため、性能に重大な衝撃を与えます。
1268     <a href="http://pgfoundry.org/projects/pgcluster/">PGCluster</a> は、
1269     このようなソリューションとしてPostgreSQLのためにフリーで利用できるも
1270     のとして、最も人気があります。</p>
1271
1272     <p>この他にも、商用やハードウェア−ベースのレプリケーションソリュー
1273     ションがいろいろなレプリケーションモデルをサポートしています。</p>
1274   
1275 <h3 id="item4.21">4.21</a>)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文字化(キャピタライズ)は温存されないのですか?</h3>
1276
1277     <p>名前が認識されない、最も一般的な原因は、テーブルを作成する際に、
1278     テーブルやカラムを囲う二重引用符の使用です。
1279     二重引用符を使うと、テーブルとカラムの名前(識別子といいます)は<a
1280     href="http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS">大文字と小文字の区別</a>
1281     をして格納されます。したがって、pgAdminのようにテーブル作成のときに
1282     自動的に二重引用符を使うものはクエリの中でそれらの名前を使うときに
1283     二重引用符を付けなくてはならないことを意味します。このため、識別子
1284     を認識させるためには以下のいずれかを心がけます。
1285
1286     <ul>
1287     <li>テーブルを作成するときに二重引用符で識別子を囲うことを避ける</li>
1288     <li>識別子には小文字だけを使う</li>
1289     <li>クエリの中で参照するときは二重引用符で識別子を囲う</li>
1290     </ul>
1291
1292
1293 <hr />
1294
1295 <h2 align="center">日本語に関する質問</h2>
1296
1297 <h3 id="item5.1">5.1</a>)日本語がうまく扱えないのはなぜですか?</h3>
1298
1299
1300     <p><i>createdb -E</i>コマンドオプションに UTF8 あるいは EUC_JP
1301     のエンコーディングを指定してデータベースを作成すか、次のように
1302     エンコーディングを指定してデータベースを作成してください。</p>
1303 <pre>
1304         CREATE DATABASE dbname WITH ENCODING 'UTF8';
1305     もしくは、
1306         CREATE DATABASE dbname WITH ENCODING 'EUC_JP';
1307 </pre>
1308
1309
1310 <h3 id="item5.2">5.2</a>) psql でWindowsからアクセスしたときに、日本語が文字化けするのですが?</h3>
1311
1312     <p><i>psql</i>の中でクライアントのエンコーディングを指定してください。</p>
1313 <pre>
1314         SET client_encoding TO 'SJIS'
1315 </pre>
1316     <p>PostgreSQLデータベースのエンコーディングに使える日本語文字コード
1317     は EUC_JP か UTF-8(UNICODE) であるため、Shift-JIS表示のコマンドプロ
1318     ンプトからは、client_encodingを設定しておかないと、日本語を表示する
1319     際に文字化けがおきます。</p>
1320
1321
1322 <h3 id="item5.3">5.3</a>) PostgreSQLで日本語の全文検索はできますか?</h3>
1323
1324     <p>バージョン8.3では、<i>TSearch2</i>全文検索機能が本体に組み込まれ
1325     ましたが、そのままでは日本語のインデックスを作る事が難しい状況です。
1326     これを解決するために、Takahiro Itagaki氏によって、Mecabという形態素
1327     解析プログラムを利用する日本語全文検索モジュール <a
1328     href="http://textsearch-ja.projects.postgresql.org/index-ja.html">textsearch_ja</a>
1329     が開発されました。TSearch2対応の製品をわずかに改修することで日本語対
1330     応にきます。
1331     </p>
1332
1333 <hr />
1334
1335 <h4 id="item-japanese">「日本語版について」</h4>
1336 <p><small><pre>
1337 [訳注:
1338   日本語版の製作については以下の通りです。
1339
1340   最終更新日:      2008年4月25日
1341   翻訳者:    桑村 潤 (<a href="mailto:juk at postgresql.jp">Jun KUWAMURA &lt;juk at postgresql.jp&gt;</a>)
1342
1343   このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
1344
1345                 田仲 稔(<a href="mailto:Tanaka.Minoru at keiken.co.jp">Minoru TANAKA &lt;Tanaka.Minoru at keiken.co.jp&gt;</a>)
1346                 石井 達夫(<a href="mailto:ishii at sraoss.co.jp">Tatsuo ISHII &lt;ishii at sraoss.co.jp&gt;</a>)
1347                 齊藤 知人(<a href="mailto:tomos at elelab.nsc.co.jp">Tomohito SAITOH &lt;tomos at elelab.nsc.co.jp&gt;</a>)
1348                 馬場  肇(<a href="mailto:baba at kusastro.kyoto-u.ac.jp">Hajime BABA &lt;baba at kusastro.kyoto-u.ac.jp&gt;</a>)
1349                 岡本 一幸(<a href="mailto:kaz-okamoto at hitachi-system.co.jp">Kazuyuki OKAMOTO &lt;kaz-okamoto at hitachi-system.co.jp&gt;</a>)
1350                 小菅 昭一(<a href="mailto:s-kosuge at str.hitachi.co.jp">Shoichi Kosuge &lt;s-kosuge at str.hitachi.co.jp&gt;</a>)
1351                 山下 義之(<a href="mailto:dica at eurus.dti.ne.jp">Yoshiyuki YAMASHITA &lt;dica at eurus.dti.ne.jp&gt;</a>)
1352                 境 真太郎(<a href="mailto:s_sakai at mxn.mesh.ne.jp">Sintaro SAKAI &lt;s_sakai at mxn.mesh.ne.jp&gt;</a>)
1353                 生越 昌己(<a href="mailto:ogochan at zetabits.com">Masami OGOSHI &lt;ogochan at zetabits.com&gt;</a>)
1354                 石川 俊行(<a href="mailto:tosiyuki at gol.com">Toshiyuki ISHIKAWA &lt;tosiyuki at gol.com&gt;</a>)
1355                 本田 茂広(<a href="mailto:fwif0083 at mb.infoweb.ne.jp">Shigehiro HONDA &lt;fwif0083 at mb.infoweb.ne.jp&gt;</a>)
1356                 せせ じゅん(<a href="mailto:sesejun at linet.gr.jp">Jun SESE &lt;sesejun at linet.gr.jp&gt;</a>)
1357                 神谷 英孝(<a href="mailto:hkamiya at catvmics.ne.jp">Hidetaka KAMIYA &lt;hkamiya at catvmics.ne.jp&gt;</a>)
1358                 菅原 敦(<a href="mailto:asugawar at f3.dion.ne.jp">Atsushi SUGAWARA &lt;asugawar at f3.dion.ne.jp&gt;</a>)
1359                 稲葉 香理(<a href="mailto:i-kaori at sraoss.co.jp">Kaori Inaba &lt;i-kaori at sraoss.co.jp&gt;</a>)
1360
1361   をはじめ、ポストグレスに関する話題豊富な日本語PostgreSQLメーリングリスト、
1362   和訳のきっかけを作ってくれたり、いつもチェックをしてくれる
1363    <a href="http://jf.linux.or.jp/">JF(Linux Japanese FAQ)プロジェクト</a>、FreeBSD ドキュメンテーションプロジェクト
1364   の方々、それから、直接あるいは間接的にかかわってくださるすべてのオープンソース
1365   コミュニティのみなさまに感謝いたします。
1366
1367
1368   この翻訳文書は <a href="http://www.postgresql.org/docs/faq/">本家 "Frequently Asked Questions" </a> のページに "Japanese FAQ" 
1369   という項目であります。
1370   
1371   また、最新版は以下のサイトにあります。
1372         <a
1373   href="http://www.postgresql.jp/wg/jpugdoc/">http://www.postgresql.jp/wg/jpugdoc/</a> 「JPUG文書・書籍関連分科会」
1374         <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」(翻訳者ページ)
1375
1376   なお、この和訳に関するご意見・ご質問は(<a href="mailto:juk at
1377   postgresql.jp">juk at postgresql.jp</a>)までお寄せください。
1378   (※ メールアドレスの " at " は適切に直してください。半角の "@" です。)
1379 ]
1380 </pre></small></p>
1381
1382 </div>
1383
1384 </BODY>
1385 </HTML>