diff --git a/doc/FAQ_japanese b/doc/FAQ_japanese index 4f1b9ab9e4f0cf3c7b745411d2f4d6ce7923a4c3..2ca543022e1476ee43d058f503077bd84eb1b4f2 100644 --- a/doc/FAQ_japanese +++ b/doc/FAQ_japanese @@ -1,6 +1,6 @@ PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ) -原文最終更新日: Sat Oct 14 19:08:19 EDT 2006 +原文最終更新日: Mon Dec 11 17:45:54 EST 2006 現在の維持管理者: Bruce Momjian (bruce@momjian.us) Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp) @@ -71,8 +71,9 @@ Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp) 4.8) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現 しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使い ますか? -4.9) クエリの中で、フィールドがNULL であることを検出するにはどうしますか?フィ -ールドがNULLかどうかでどのようにソートができますか? +4.9) クエリの中で、フィールドが NULL であることを検出するにはどうしますか? +NULLの可能性のあるものをどのようすれば連結できますか? フィールドがNULLかどうか +でどのようにソートができますか? 4.10) いろいろな文字型のそれぞれの違いは何ですか? 4.11.1) 通番(serial)/自動増分フィールドはどのようにつくりますか? 4.11.2) SERIALデータ型に挿入される値は、どうすれば得られますか? @@ -90,7 +91,8 @@ Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp) 4.19) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか? 4.20) どのようなレプリケーションのソリューションがありますか? -4.21) テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか? +4.21) テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大 +文字化(キャピタライズ)は温存されないのですか? 日本語に関する質問 @@ -188,7 +190,7 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. [訳注: 著作権に関する正文は上記の英語による表記です。日本語訳はあくまで - 参考です。 + 参考程度としてください。 ] @@ -225,7 +227,7 @@ ftp://ftp.PostgreSQL.org/pub/ 1.6) 最新のリリースはどれですか? -PostgreSQL の最新版はバージョン 8.1.5 です。 +PostgreSQL の最新版はバージョン 8.2.0 です。 我々は、1年毎にメジャーリリースを、数ヵ月ごとのマイナーリリースを行なうことを計 画しています。 @@ -284,10 +286,10 @@ PostgreSQL ・ 既にここにある機能は、 TODO リストです ・ 次のような機能は目論まれていません。それは: - □ 既にSQL企画に従った既存の機能性と重複するもの - □ コードの複雑性ばかり高めて、得るものが少ない機能 - □ 安全性が確かめられない機能 - ・ 新しい機能は TODO リストに加えられられます。 + □ SQL規格に準ずる既存の機能と重複するもの + □ コードの複雑性ばかりを高めて、得るものが少ない機能 + □ 安全性が確められない機能 + ・ 新しい機能は、 TODO のリストに加えられられます。 我々は、PostgreSQL に関して、電子メールで直接対応して TODO リストを最新に更新し てゆくほうがより効果的であることを知っていますので、バグ追跡システムは使いませ @@ -343,9 +345,9 @@ PostgreSQL ] -コマンドラインのクライアントプログラムpsql も、型、演算子、関数、集約、その他の -情報をお見せする、いくつかの素晴らしい \d コマンドを持ちます。 - \? を使うと利 -用可能なコマンドが表示されます。 +コマンドラインのクライアントプログラムpsql にも、型、演算子、関数、集約、その他 +の情報を調べるために、素晴らしい \d コマンドがいくつかあります。 \? を入力する +と利用可能なコマンドが表示されます。 我々の Web サイトには、さらに沢山の文書があります。 @@ -757,8 +759,9 @@ LIKE すが、その違いが文字ケースだけであっても同一にはなりません。あえて特定の文字ケ ースをカラムに格納するには CHECK制約か、トリガーを使ってください。 -4.9) クエリの中で、フィールドがNULL であることを検出するにはどうしますか?フィ -ールドがNULLかどうかでどのようにソートができますか? +4.9) クエリの中で、フィールドがNULL であることを検出するにはどうしますか? NULL +であることを検出するにはどうしますか?フィールドがNULLかどうかでどのようにソー +トができますか? 以下のように、IS NULL と IS NOT NULLで、そのカラムをテストしてみます: @@ -766,6 +769,11 @@ LIKE FROM tab WHERE col IS NULL; +NULLの可能性のあるものを連結するには、COALESCE()を次のように使います。 + + SELECT COALESCE(col1, '') || COALESCE(col2, '') + FROM tab + NULL状態でソートするには、IS NULL と IS NOT NULL の修飾子を ORDER BY 句の中で使 ってみます。true のものは false のものよりも高い値として並べられますので、次の 例では NULL の記載が結果リストの上部に置かれます。 @@ -859,11 +867,10 @@ currval() 4.12) OID とは何ですか? CTID とは何ですか? -PostgreSQLでつくられるすべてのロウは、WITHOUT OIDS でつくられないかぎり一意の -OIDを得ます。 OIDは自動的に4バイトの整数で与えられ、それは、全インストレーショ -ンを通して一意な値となります。しかし、約40億でオーバーフローし、そして、OIDは重 -複をしはじめます。PostgreSQLは内部システムテーブルを一緒にリンクするためにOID -を使います。 +テーブルがWITH OIDSでつくられた場合は、それぞれのロウに一意なOIDが取られます。 +OIDは自動的に4バイトの整数で与えられ、それは、全インストレーションを通して一意 +な値となります。しかし、約40億でオーバーフローし、そして、OIDは重複をしはじめま +す。PostgreSQLは内部システムテーブルを一緒にリンクするためにOID を使います。 ユーザのテーブルのカラムに一意の番号を付けるためには、 OID ではなく SERIAL を使 うのが最もよいでしょう。SERIALの連番は1つのテーブル内でのみ一意になるからで、オ @@ -965,14 +972,15 @@ PL/PgSQL この他にも、商用やハードウェア-ベースのレプリケーションソリューションがいろい ろなレプリケーションモデルをサポートしています。 -4.21)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか? +4.21)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文 +字化(キャピタライズ)は温存されないのですか? -もっとも一般的な原因は、テーブルを作成する際に、テーブルやカラムを囲う二重引用 -符の使用です。二重引用符を使うと、テーブルとカラムの名前(識別子と呼びます)は -大文字と小文字の区別をして格納されます。したがって、pgAdminのようにテーブル作成 -のときに自動的に二重引用符を使うものはクエリの中でそれらの名前を使うときに二重 -引用符を付けなくてはならないことを意味します。このため、識別子を認識させるため -には以下のいずれかを心がけます。 +認識された名前のもっとも一般的な原因は、テーブルを作成する際に、テーブルやカラ +ムを囲う二重引用符の使用です。二重引用符を使うと、テーブルとカラムの名前(識別 +子といいます)は大文字と小文字の区別をして格納されます。したがって、pgAdminのよ +うにテーブル作成のときに自動的に二重引用符を使うものはクエリの中でそれらの名前 +を使うときに二重引用符を付けなくてはならないことを意味します。このため、識別子 +を認識させるためには以下のいずれかを心がけます。 ・ テーブルを作成するときに二重引用符で識別子を囲うことを避ける ・ 識別子には小文字だけを使う @@ -1009,7 +1017,7 @@ client_encoding [訳注: 日本語版の製作については以下の通りです。 - 最終更新日: 2006年10月15日 + 最終更新日: 2006年12月25日 翻訳者: 桑村 潤 (Jun Kuwamura <juk at PostgreSQL.jp>) このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます): diff --git a/doc/src/FAQ/FAQ_japanese.html b/doc/src/FAQ/FAQ_japanese.html index 4a04da15b82ee219114bdcc4f8614fd47fe94d0a..ed98d9fff3627a398d414834b19ec14c396d95d4 100644 --- a/doc/src/FAQ/FAQ_japanese.html +++ b/doc/src/FAQ/FAQ_japanese.html @@ -9,7 +9,7 @@ <div id="pgContentWrap"> <h1>PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</h1> -<p>原文最終更新日: Sat Oct 14 19:08:19 EDT 2006</p> +<p>原文最終更新日: Mon Dec 11 17:45:54 EST 2006</p> <p>現在の維持管理者: Bruce Momjian (<A href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br /> Maintainer of Japanese Translation: Jun Kuwamura (<A @@ -83,7 +83,10 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> <a href="#item4.6">4.6</a>) クエリが遅いのはなぜでしょう? なぜ、インデックスが使われないのでしょうか?<br /> <a href="#item4.7">4.7</a>) クエリオプティマイザが、どのようにクエリを評価していかを、見るにはどうしますか?<br /> <a href="#item4.8">4.8</a>) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使いますか?<br /> -<a href="#item4.9">4.9</a>) クエリの中で、フィールドが<small>NULL</small> であることを検出するにはどうしますか? フィールドが<small>NULL</small>かどうかでどのようにソートができますか?<br /> +<a href="#item4.9">4.9</a>) クエリの中で、フィールドが +<small>NULL</small> であることを検出するにはどうしますか? +<small>NULL</small>の可能性のあるものをどのようすれば連結できますか? +フィールドが<small>NULL</small>かどうかでどのようにソートができますか?<br /> <a href="#item4.10">4.10</a>) いろいろな文字型のそれぞれの違いは何ですか?<br /> <a href="#item4.11.1">4.11.1</a>) 通番(serial)/自動増分フィールドはどのようにつくりますか?<br /> <a href="#item4.11.2">4.11.2</a>) <small>SERIAL</small>データ型に挿入される値は、どうすれば得られますか?<br /> @@ -98,7 +101,8 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> <a href="#item4.18">4.18</a>) 関数から複数のロウまたはカラムを返すにはどうしますか?<br /> <a href="#item4.19">4.19</a>) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?<br /> <a href="#item4.20">4.20</a>) どのようなレプリケーションのソリューションがありますか?<br /> -<a href="#item4.21">4.21</a>) テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?<br /> +<a href="#item4.21">4.21</a>) テーブルとカラムの名前がクエリーの中で認識 +されないのはなぜですか? なぜ大文字化(キャピタライズ)は温存されないのですか?<br /> <h2 align="center">日本語に関する質問</h2> @@ -210,7 +214,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> [訳注: 著作権に関する正文は上記の英語による表記です。日本語訳はあくまで - 参考です。 + 参考程度としてください。 ] </pre></small> @@ -257,7 +261,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> <h4 id="item1.6">1.6</a>) 最新のリリースはどれですか?</h4> - <p>PostgreSQL の最新版はバージョン 8.1.5 です。</p> + <p>PostgreSQL の最新版はバージョン 8.2.0 です。</p> <p>我々は、1年毎にメジャーリリースを、数ヵ月ごとのマイナーリリースを 行なうことを計画しています。</p> @@ -338,14 +342,14 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> リストです</li> <li>次のような機能は目論まれていません。それは: <ul> - <li>既にSQL企画に従った既存の機能性と重複するもの</li> - <li>コードの複雑性ばかり高めて、得るものが少ない機能</li> - <li>安全性が確かめられない機能</li> + <li>SQL規格に準ずる既存の機能と重複するもの</li> + <li>コードの複雑性ばかりを高めて、得るものが少ない機能</li> + <li>安全性が確められない機能</li> </ul> </li> - <li>新しい機能は + <li>新しい機能は、 <a href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</a> - リストに</li>加えられられます。 + のリストに</li>加えられられます。 </ul> <p>我々は、PostgreSQL に関して、電子メールで直接対応して @@ -366,14 +370,14 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> アル・ページ)およびいくつかの小さなテスト例題が含まれます。 <i>/doc</i>ディレクトリをごらんください。また、マニュアルは、<A href="http://www.PostgreSQL.org/docs/"> - http://www.PostgreSQL.org/docs/</a>でオンラインでも閲覧できます。 +http://www.PostgreSQL.org/docs/</a>でオンラインでも閲覧できます。 </p> <p><small><pre> [訳注: JPUG 文書・書籍関連分科会で翻訳されたマニュアルもあります。 - <a href="http://www.postgresql.jp/document/pg803doc/"> + <a href="http://www.postgresql.jp/document/pg820doc/"> http://www.postgresql.jp/document/pg803doc/</a> インプレスから、 <a href="http://home.impress.co.jp/reference/2108.htm"> @@ -422,9 +426,9 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> ] </pre></small></p> - <p> コマンドラインのクライアントプログラム<i>psql</i> も、型、演算子、 - 関数、集約、その他の情報をお見せする、いくつかの素晴らしい \d コマン - ドを持ちます。 - \? を使うと利用可能なコマンドが表示されます。</p> + <p> コマンドラインのクライアントプログラム<i>psql</i> にも、型、 + 演算子、関数、集約、その他の情報を調べるために、素晴らしい \d コマンド + がいくつかあります。 \? を入力すると利用可能なコマンドが表示されます。</p> <p> 我々の Web サイトには、さらに沢山の文書があります。</p> @@ -943,7 +947,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> -<h4 id="item4.9">4.9</a>) クエリの中で、フィールドが<small>NULL</small> であることを検出するにはどうしますか? フィールドが<small>NULL</small>かどうかでどのようにソートができますか?</h4> +<h4 id="item4.9">4.9</a>) クエリの中で、フィールドが<small>NULL</small> であることを検出するにはどうしますか? <small>NULL</small> であることを検出するにはどうしますか? フィールドが<small>NULL</small>かどうかでどのようにソートができますか?</h4> <p>以下のように、<small>IS NULL</small> と <small>IS NOT NULL</small>で、そのカラムをテストしてみます:</p> @@ -954,6 +958,14 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> WHERE col IS NULL; </pre> +<small>NULL</small>の可能性のあるものを連結するには、<i>COALESCE()</i>を +次のように使います。 + +<pre> + SELECT COALESCE(col1, '') || COALESCE(col2, '') + FROM tab +</pre> + <p><small>NULL</small>状態でソートするには、<small>IS NULL</small> と <small>IS NOT NULL</small> の修飾子を <small>ORDER BY</small> 句の中 で使ってみます。<i>true</i> のものは <i>false</i> のものよりも高い値 @@ -1076,8 +1088,8 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> <h4 id="item4.12">4.12</a>) <small>OID</small> とは何ですか? <small>CTID</small> とは何ですか?</h4> - <p>PostgreSQLでつくられるすべてのロウは、<small>WITHOUT OIDS</small> - でつくられないかぎり一意の<small>OID</small>を得ます。 + <p>テーブルが<small>WITH OIDS</small>でつくられた場合は、それぞれの + ロウに一意な<small>OID</small>が取られます。 <small>OID</small>は自動的に4バイトの整数で与えられ、それは、全イン ストレーションを通して一意な値となります。しかし、約40億でオーバーフ ローし、そして、<small>OID</small>は重複をしはじめます。PostgreSQLは @@ -1200,11 +1212,11 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> <p>この他にも、商用やハードウェア-ベースのレプリケーションソリュー ションがいろいろなレプリケーションモデルをサポートしています。</p> -<h3 id="item4.21">4.21</a>)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?</h3> +<h3 id="item4.21">4.21</a>)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文字化(キャピタライズ)は温存されないのですか?</h3> - <p>もっとも一般的な原因は、テーブルを作成する際に、テーブルやカラムを - 囲う二重引用符の使用です。二重引用符を使うと、テーブルとカラムの名前 - (識別子と呼びます)は<a + <p>認識された名前のもっとも一般的な原因は、テーブルを作成する際に、 + テーブルやカラムを囲う二重引用符の使用です。 + 二重引用符を使うと、テーブルとカラムの名前(識別子といいます)は<a href="http://www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS">大文字と小文字の区別</a> をして格納されます。したがって、pgAdminのようにテーブル作成のときに 自動的に二重引用符を使うものはクエリの中でそれらの名前を使うときに @@ -1254,7 +1266,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> [訳注: 日本語版の製作については以下の通りです。 - 最終更新日: 2006年10月15日 + 最終更新日: 2006年12月25日 翻訳者: 桑村 潤 (<a href="mailto:juk at PostgreSQL.jp">Jun Kuwamura <juk at PostgreSQL.jp></a>) このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):