From f54a68d24a5334c6b3b915c2edff5239ba639633 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 5 Jan 2006 04:02:26 +0000 Subject: Stamp release 8.1.2. --- doc/src/FAQ/FAQ.html | 2 +- doc/src/FAQ/FAQ_DEV.html | 6 +- doc/src/FAQ/FAQ_japanese.html | 377 ++++++++++++++++++++++-------------------- 3 files changed, 202 insertions(+), 183 deletions(-) (limited to 'doc/src') diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html index 5acc37dcffb..a7d36582032 100644 --- a/doc/src/FAQ/FAQ.html +++ b/doc/src/FAQ/FAQ.html @@ -219,7 +219,7 @@

1.6) What is the latest release?

-

The latest release of PostgreSQL is version 8.1.1.

+

The latest release of PostgreSQL is version 8.1.2.

We plan to have a major release every year, with minor releases every few months.

diff --git a/doc/src/FAQ/FAQ_DEV.html b/doc/src/FAQ/FAQ_DEV.html index 1a08888e463..db41c11a6fd 100644 --- a/doc/src/FAQ/FAQ_DEV.html +++ b/doc/src/FAQ/FAQ_DEV.html @@ -13,7 +13,7 @@

Developer's Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Tue Nov 22 10:17:51 EST 2005

+

Last updated: Sat Dec 24 14:29:33 EST 2005

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@@ -158,7 +158,9 @@

Generate the patch in contextual diff format. If you are unfamiliar with this, you might find the script - src/tools/makediff/difforig useful.

+ src/tools/makediff/difforig useful. Unified diffs are + only preferrable if the file changes are single-line changes and + do not rely on the surrounding lines.

Ensure that your patch is generated against the most recent version of the code. If it is a patch adding new functionality, the diff --git a/doc/src/FAQ/FAQ_japanese.html b/doc/src/FAQ/FAQ_japanese.html index 9a7702c3566..612dad5b1dc 100644 --- a/doc/src/FAQ/FAQ_japanese.html +++ b/doc/src/FAQ/FAQ_japanese.html @@ -9,7 +9,7 @@

PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)

-

原文最終更新日: Fri Nov 4 20:35:04 EST 2005

+

原文最終更新日: Thu Dec 8 17:26:16 EST 2005

現在の維持管理者: Bruce Momjian (pgman at candle.pha.pa.us)
Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp)

"http://www.postgresql.org/docs/faq/"> http://www.postgresql.org/docs/faq/
-に回答があります。

+に解答があります。

-

-

+

 (以下、訳者による注釈を [訳注: と ] とで囲んで記します。)
 [訳注:
-	日本語版の製作については、この文書の最後をごらんください。
+	日本語版のFAQは、
+		http://www.postgresql.org/docs/faqs.FAQ_japanese.html
+	にあります。
+	最新の日本語版については、この文書の最後にある「日本語版について」をごらんください。
 
-						2005年11月17日    桑村 潤
 ]
-
-

+


一般的な質問

-1.1) PostgreSQLとは何ですか? 何と読みますか?
-1.2) PostgreSQLの著作権はどうなってますか?
-1.3) PostgreSQLをサポートするプラットホームは?
-1.4) PostgreSQLはどこから入手できますか?
-1.5) サポートはどこで受けられますか?
-1.6) バグレポートはどのように発信しますか?
-1.7) 最新版はどれですか
-1.8) どのような文書がありますか?
-1.9) 既知のバグや未だ無い機能はどうやって見つけますか?
-1.10) SQLはどうすれば学べますか?
-1.11) 開発チームにはどのように参加しますか?
-1.12) 他のDBMSと比べてPostgreSQLはどうなのですか?
-1.13) 誰が PostgreSQL をコントロールしますか?
+1.1) PostgreSQLとは何ですか? その呼び方は?
+1.2) 誰が PostgreSQL をコントロールしますか?
+1.3) PostgreSQLの著作権はどうなってますか?
+1.4) PostgreSQLをサポートするプラットホームは?
+1.5) PostgreSQLはどこから入手できますか?
+1.6) 最新版はどれですか?
+1.7) サポートはどこで受けられますか?
+1.8) バグレポートはどのように発信しますか?
+1.9) 既知のバグや未だ無い機能はどうやって見つけますか?
+1.10) どのような文書がありますか?
+1.11) SQLはどうすれば学べますか?
+1.12) 開発チームにはどのように参加しますか?
+1.13) 他のDBMSと比べてPostgreSQLはどうなのですか?

ユーザ・クライアントの質問

-2.1) PostgreSQL にはどんなインターフェースが使えますか?
-2.2) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?
-2.3) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?
+2.1) PostgreSQL にはどんなインターフェースが使えますか?
+2.2) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?
+2.3) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?

管理上の質問

-3.1) どうすれば、PostgreSQLを/usr/local/pgsql 以外の場所にインストールできますか?
-3.2) 他のホストからの接続はどのように制御しますか?
-3.3) より良い性能を得るためには、データベース・エンジンをどのように調整しますか?
-3.4) どのようなデバグ機能が使えますか?
-3.5) 接続しようとするときに 'Sorry, too many clients' が出るのはなぜですか?
-3.6) PostgreSQLのメジャーリリースをアップデートするのにダンプとリストアをしなくてはならないのはなぜですか?
-3.7) ハードウェアにはどんなコンピュータを使えばよいですか?
+3.1) どうすれば、PostgreSQLを/usr/local/pgsql 以外の場所にインストールできますか?
+3.2) 他のホストからの接続はどのように制御しますか?
+3.3) より良い性能を得るためには、データベース・エンジンをどのように調整しますか?
+3.4) どのようなデバグ機能が使えますか?
+3.5) 接続しようとするときに 'Sorry, too many clients' が出るのはなぜですか?
+3.6) PostgreSQLのメジャーリリースをアップデートするのにダンプとリストアをしなくてはならないのはなぜですか?
+3.7) ハードウェアにはどんなコンピュータを使えばよいですか?

操作上の質問

-4.1) 最初のいくつかのロウのみを select するにはどうしますか? ランダムなロウ?
-4.2) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?
-4.3) カラムのデータタイプを変更するにはどうしますか?
-4.4) ロウ、テーブル、データベースの最大サイズは?
-4.5) 一般的なテキストファイルのデータを保存するには、データベースのディスク容量はどのくらい必要ですか?
-4.6) クエリが遅いのはなぜでしょう? なぜ、インデックスが使われないのでしょうか?
-4.7) クエリオプティマイザが、どのようにクエリを評価していかを、見るにはどうしますか?
-4.8) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使いますか?
-4.9) クエリの中で、フィールドがNULL であることを検出するにはどうしますか? フィールドがNULLかどうかでどのようにソートができますか?
-4.10) いろいろな文字型のそれぞれの違いは何ですか?
-4.11.1) 通番(serial)/自動増分フィールドはどのようにつくりますか?
-4.11.2) SERIALデータ型に挿入される値は、どうすれば得られますか?
-4.11.3) currval() は他のユーザとの競合状態に陥ることはないですか?
-4.11.4) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?
-4.12) OID とは何ですか? TID とは何ですか?
-4.13) エラーメッセージ "ERROR: Memory exhausted in AllocSetAlloc()"が出るのはなぜですか?
-4.14) どのバージョンの PostgreSQL を走らせているのかを調べるにはどうしますか?
-4.15) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?
-4.16) 外部結合(outer join)はどのように実現しますか?
-4.17) 複数のデータベースを使う問い合わせはどのようにすればできますか?
-4.18) 関数から複数のロウまたはカラムを返すにはどうしますか?
-4.19) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?
-4.20) どのようなレプリケーションのソリューションがありますか?
-4.21) テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?
+4.1) 最初のいくつかのロウのみを select するにはどうしますか? ランダムなロウ?
+4.2) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?
+4.3) カラムのデータタイプを変更するにはどうしますか?
+4.4) ロウ、テーブル、データベースの最大サイズは?
+4.5) 一般的なテキストファイルのデータを保存するには、データベースのディスク容量はどのくらい必要ですか?
+4.6) クエリが遅いのはなぜでしょう? なぜ、インデックスが使われないのでしょうか?
+4.7) クエリオプティマイザが、どのようにクエリを評価していかを、見るにはどうしますか?
+4.8) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使いますか?
+4.9) クエリの中で、フィールドがNULL であることを検出するにはどうしますか? フィールドがNULLかどうかでどのようにソートができますか?
+4.10) いろいろな文字型のそれぞれの違いは何ですか?
+4.11.1) 通番(serial)/自動増分フィールドはどのようにつくりますか?
+4.11.2) SERIALデータ型に挿入される値は、どうすれば得られますか?
+4.11.3) currval() は他のユーザとの競合状態に陥ることはないですか?
+4.11.4) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?
+4.12) OID とは何ですか? TID とは何ですか?
+4.13) エラーメッセージ "ERROR: Memory exhausted in AllocSetAlloc()"が出るのはなぜですか?
+4.14) どのバージョンの PostgreSQL を走らせているのかを調べるにはどうしますか?
+4.15) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?
+4.16) 外部結合(outer join)はどのように実現しますか?
+4.17) 複数のデータベースを使う問い合わせはどのようにすればできますか?
+4.18) 関数から複数のロウまたはカラムを返すにはどうしますか?
+4.19) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?
+4.20) どのようなレプリケーションのソリューションがありますか?
+4.21) テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?

一般的な質問

-

1.1) PostgreSQL とは何ですか? 何と発音しますか?

+

1.1) PostgreSQLとは何ですか? その呼び方は?

-

PostgreSQLはPost-Gres-Q-L(ポスト - グレス - キュー - エル) +

PostgreSQLはPost-Gres-Q-L(ポスト・グレス・キュー・エル) と発音します。

また、ときによっては単純に Postgres として 参照されます。この発音を聞きたい人のために、 MP3フォー @@ -126,9 +127,29 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

にある開発者のFAQを見てください。

-

1.2) PostgreSQL の著作権はどうなってますか?

+

1.2) 誰が PostgreSQL をコントロールしますか?

+ +

PostgreSQLの門番、中央委員会、あるいは、コントロールをする会社を + 探そうとしても、諦めざるをえず ---- 存在しないのです。我々は、中心 + となるコミッティとCVSコミッタを持ちますが、これらのグループはコン + トロールするためというよりも、管理上のものです。ここでは、プロジェ + クトは、だれでも参加ができる開発者とユーザのコミュニティにより方向 + 付けられます。読者がやらなければならないことは、メーリングリストを + サブスクライブして、議論に 参加することです。(Developer's + FAQには、PostgreSQL開発に加わり方についての情報があります。)

+ + +

1.3) PostgreSQL の著作権はどうなってますか?

PostgreSQL は下記の著作権に従います。

+

PostgreSQLは古くからのBSDライセンスの下で配布されています。それ + は基本的には、利用者がそのコードを好き勝手に利用することが許されて + います。制限があるとすれば、このソフトウェアに伴ういかなる問題にお + いても法的に責任を我々に負わせることができないということです。 + また、この著作権表示がこのソフトウェアのすべての複製に表示すること + も必要です。以下に、我々が実際に使っているBSD使用許諾書を示します: +

     [訳注:
@@ -188,7 +209,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

]
-

1.3) PostgreSQL の動作環境は?

+

1.4) PostgreSQLをサポートするプラットホームは?

一般的に、最近のUnix互換プラットホームであればPostgreSQLを稼働さ せられるはずです。リリースの時点で実際にテストを行なったことの報告が @@ -221,7 +242,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)


-

1.4) PostgreSQL はどこから入手できますか?

+

1.5) PostgreSQL はどこから入手できますか?

Webブラウザ経由だと、 http://www.postgresql.org/ftp/、それから、ftp経由だと、 @@ -229,7 +250,22 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

ftp://ftp.PostgreSQL.org/pub/ を使います。

-

1.5) サポートはどこで受けられますか?

+

1.6) 最新版はどれですか?

+ +

PostgreSQL の最新版はバージョン 8.1.1 です。

+

我々は、1年毎にメジャーリリースを、数ヵ月ごとのマイナーリリースを + 行なうことを計画しています。

+ +

+    [訳注
+	バージョン番号の x.y.z の最初の x.y がメジャーリリースの番号に相
+	当し、最後の z がマイナーリリースの番号になります。メジャーリリー
+	スの番号が同じであれば、データベース・クラスタに互換性があります。
+    ]
+    

+ + +

1.7) サポートはどこで受けられますか?

PostgreSQL コミュニティは多くのユーザのために、電子メール経由の支 援を提供しています。電子メールリストをサブスクライブするためのメイン @@ -239,13 +275,6 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

のであれば general または、bugs といったリストがよいで しょう。

-

The major IRC channel is #postgresql on Freenode - (irc.freenode.net). To connect you can use the Unix - program irc -c '#postgresql' "$USER" irc.freenode.net - or use any other IRC clients. A Spanish one also exists - on the same network, (#postgresql-es), and a French one, - (#postgresqlfr). There is also a PostgreSQL channel on EFNet.

-

メジャーなIRC チャンネルは、Freenode (irc.freenode.net)の #postgresql というチャンネルです。UNIX コマンドでは、 irc -c '#PostgreSQL' "$USER" irc.freenode.net を使って @@ -255,8 +284,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

ります。

-

-

+    

     [訳注:
 	  1999年7月23日、日本ポストグレスユーザー会、略称JPUGが設立されました。
 	JPUG は非営利組織で、PostgreSQLを利用する人達の相互協力の場となっています。  
@@ -268,14 +296,14 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

日本語のIRCチャンネル '#PostgreSQL:*.jp' も存在します。 ] -
+

商用サポート会社のリストは http://techdocs.postgresql.org/companies.phpにあります。

-

1.6) バグレポートはどのように発信しますか? +

1.8) バグレポートはどのように発信しますか?

juk at PostgreSQL.jp)

で、最新バージョンの PostgreSQL を探してみてください。

-

1.7) 最新版はどれですか

- -

PostgreSQL の最新版はバージョン 8.1 です。

-

我々は、1年毎にメジャーリリースを行ない、数ヵ月ごとのマイナーリリー - スを計画しています。

- - -

1.8) どのような文書がありますか?

+

1.9) どのような文書がありますか?

配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュ アル・ページ)およびいくつかの小さなテスト例題が含まれます。 @@ -306,7 +327,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

-
+    

     [訳注:
 	JPUG 文書・書籍関連分科会で翻訳されたマニュアルもあります。
 		
@@ -316,31 +337,31 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

PostgreSQLオフィシャルマニュアルとして出版されています。 ] -
+

オンラインで参照できる PostgreSQL の本も2冊あります。 http://www.PostgreSQL.org/docs/awbook.html -

+    

     [訳注:
-	JPUG「PostgreSQL Book翻訳分科会」
+	この本は、JPUG「PostgreSQL Book翻訳分科会」
 	で翻訳され、ピアソンから
-	「はじめてのPostgreSQL」として出版されました。
+	「はじめてのPostgreSQL」として出版されています。
     ]
-    
+

および、 http://www.commandprompt.com/ppbook/です。 -
+    

     [訳注:
 	邦訳は「実践 PostgreSQL」
 	がオライリーから出版されています。
     ]
-    
+

購入可能な書籍の目録は、http://techdocs.PostgreSQL.org/techdocs/bookreviews.php @@ -350,14 +371,13 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

"http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/ にあります。

-
+    

     [訳注:
 	日本語の書籍等については、日本PostgreSQLユーザ会の、http://www.postgresql.jp/PostgreSQL/references.html
 	もごらんください。
     ]
-    
-

+

コマンドラインのクライアントプログラムpsql も、型、演算子、 関数、集約、その他の情報をお見せする、いくつかの素晴らしい \d コマン @@ -366,7 +386,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

我々の Web サイトには、さらに沢山の文書があります。

-

1.9) 既知のバグや未だ無い機能はどうやって見つけますか? +

1.10) 既知のバグや未だ無い機能はどうやって見つけますか?

PostgreSQLは拡張されたSQL:2003のサブセットをサポート @@ -374,7 +394,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

href="http://www.PostgreSQL.org/docs/todo.html">TODO リストに、 既知のバグや欠落機能や将来計画についての記述があります。

-

1.10) SQL はどうすれば学べますか?

+

1.11) SQL はどうすれば学べますか?

まず、 上記で述べた PostgreSQL についての本を読むことを検討してください。 もうひとつは、 "Teach Yourself SQL in 21 Days, Second Edition" @@ -395,11 +415,11 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

にあります。

-

-

+    

     [訳注:
-	 石井達夫氏による日本語の参考文献の紹介ページ
-		http://www.SRA.co.jp/people/t-ishii/PostgreSQL/doc-jp/index.html
+	 日本PostgreSQLユーザ会の日本語の参考文献の紹介ページ
+		
+http://www.postgresql.jp/PostgreSQL/references.html
 	があります。
 	 近藤直文氏の「初心者向のDB設計入門・SQL入門参考書紹介」のコーナー
 		http://www.shonan.ne.jp/~nkon/ipsql/books_SQL.html
@@ -413,16 +433,15 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

Nikkei BP IT Pro にある石井達夫氏の PostgreSQL ウォッチ では毎回新しい情報をとりあげています。 ] -
-

+

-

1.11) 開発チームにはどのように参加しますか?

+

1.12) 開発チームにはどのように参加しますか?

(開発者向けの)Developer's FAQをごらんください。

-

1.12) 他のDBMSと比べPostgreSQLはどうなのですか?

+

1.13) 他のDBMSと比べPostgreSQLはどうなのですか?

ソフトウェアを計る方法にはいくつかあります。機能と性能と信頼性と サポートと価格です。

@@ -466,7 +485,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

ミュニティ、マニュアル類、それに、ソースコードなどへ直接アクセスで きることによって、PostgreSQLのサポートは、他のDBMS サポートよりも優れたものとなっています。御要望に答えて、事柄毎の商 - 用サポートなどもあります(FAQ1.5節をごらんくだ + 用サポートなどもあります(FAQ1.7節をごらんくだ さい)。
@@ -480,25 +499,12 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

-

1.13) 誰が PostgreSQL をコントロールしますか?

- -

PostgreSQLの門番、中央委員会、あるいは、コントロールをする会社を - 探そうとしても、諦めざるをえず ---- 存在しないのです。我々は、中心 - となるコミッティとCVSコミッタを持ちますが、これらのグループはコン - トロールするためというよりも、管理上のものです。ここでは、プロジェ - クトは、だれでも参加ができる開発者とユーザのコミュニティにより方向 - 付けられます。読者がやらなければならないことは、メーリングリストを - サブスクライブして、議論に 参加することです。(Developer's - FAQには、PostgreSQL開発に加わり方についての情報があります。)

- -

ユーザ・クライアントの質問

-

2.1) PostgreSQL にはどんなインターフェースが使えますか?

+

2.1) PostgreSQL にはどんなインターフェースが使えますか?

PostgreSQL のインストールに含まれる物はCと組込み Cのインターフェースだけです。その他のインターフェース @@ -515,14 +521,14 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

-

2.2) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?

+

2.2) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?

データベースを裏に持つ Web ページについての素晴らしい紹介が、
http://www.webreview.comにあります。

Web への拡張のためには、PHP(http://www.php.net/) が卓越したインターフェースとなっています。

-
+    

     [訳注:
 	  PHPに関する日本語の情報は、2000年4月19日に発足した日本PHPユーザ会のサイト
 		http://www.php.gr.jp/
@@ -530,13 +536,13 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

http://www.geocities.jp/rui_hirokawa/php/ にかなりまとめられています。 ] -
+

処理が複雑な場合、多くの人は Perl インターフェースと CGI.pm か mod_perl を使います。

-

2.3) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?

+

2.3) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?

もちろん、あります。 @@ -548,13 +554,13 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

管理上の質問

-

3.1) どのようにすれば /usr/local/pgsql 以外の場所にインストールできますか?

+

3.1) どのようにすれば /usr/local/pgsql 以外の場所にインストールできますか?

簡単な方法は、 configure を走らせるときに --prefix オプショ ンを指定することです。

-

3.2) 他のホストからの接続はどのように制御しますか?

+

3.2) 他のホストからの接続はどのように制御しますか?

既定値では、PostgreSQL は Unix ドメインソケット、または、TCP/IP接 続のローカルマシンからの接続しか許しません。postgresql.conf の中の @@ -563,7 +569,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

のマシンからは接続できないでしょう。

-

3.3) より良い性能を得るためには、データベース・エンジンをどのように調整しますか?

+

3.3) より良い性能を得るためには、データベース・エンジンをどのように調整しますか?

性能改善の可能性のありそうな主な領域が3つあります:

@@ -617,21 +623,21 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

-
+    

     [訳注:
       JPUG理事長の片岡裕生氏による、「今すぐできるPostgreSQLチューニング」
-      というコーナーが ThinkIT サイトにあり、参考になります。
+      というコーナーが ThinkIT サイトにあり、実作業の参考になります。
     	http://www.thinkit.co.jp/free/tech/10/1/1.html
     ]
-    
+

-

3.4) どのようなデバグ機能が使えますか?

+

3.4) どのようなデバグ機能が使えますか?

サーバ構成変数には多くの log_* があり、クエリとプロ セスの統計を出力することができ、デバグと性能計測にとても便利です。

-

3.5) 接続しようとするときに 'Sorry, too many clients' が出るのはなぜですか?

+

3.5) 接続しようとするときに 'Sorry, too many clients' が出るのはなぜですか?

既定での制限である 100 のデータベースセッションに達してしまって います。postmasterが同時接続できるバックエンドプロセスの制限 @@ -639,7 +645,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

max_connections の値を変更して postmasterを再起動する ことで可能になります。

-

3.6) PostgreSQLのメジャーリリースをアップデートするのにダンプとリストアをしなくてはならないのはなぜですか?

+

3.6) PostgreSQLのメジャーリリースをアップデートするのにダンプとリストアをしなくてはならないのはなぜですか?

PostgreSQLチームはマイナーリリースでは小さな変更しか行ないません ので、7.4.0 から 7.4.1 へのアップグレードにはダンプとリストアの必要は @@ -650,7 +656,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

マットでデータを出力し、それを新しい内部フォーマットに読み込むことが できます。

-

3.7) ハードウェアにはどんなコンピュータを使えばよいですか?

+

3.7) ハードウェアにはどんなコンピュータを使えばよいですか?

PCハードウェアはほとんど互換性がありますので、ほとんどの人は、す べてのPCハードウェアが同じ品質だと思い込む傾向があります。しかし、そ @@ -665,7 +671,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

操作上の質問

-

4.1) 最初の数ロウのみを SELECTするにはどうしますか?ランダムなロウ? +

4.1) 最初の数ロウのみを SELECTするにはどうしますか?ランダムなロウ?

たったの数行のロウを取り出すために、何行必要かがわかれば、 @@ -683,7 +689,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

-

4.2) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?psqlで使われているクエリを表示するにはどうしますか?

+

4.2) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?psqlで使われているクエリを表示するにはどうしますか?

psql の中で \dtコマンドを使ってテーブルを見ることができ ます。psqlの中で \? を使って、コマンドの全リストを調べることができま @@ -699,14 +705,14 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

pg_ で始まるシステムテーブルでもこれらを記述することができ ます。

-

psql -lを使うと全てのデータベースをリスとします。

+

psql -lを使うと全てのデータベースをリストします。

それと、pgsql/src/tutorial/syscat.source を試してみてくだ さい。そこには、データベースのシステムテーブルから情報を得るために必 要な SELECT 文が沢山あります。

-

4.3) カラムのデータ型を変更するにはどうしますか?

+

4.3) カラムのデータ型を変更するにはどうしますか?

カラムのデータ型の変更は 8.0 以降では、 ALTER TABLE ALTER COLUMN TYPE を使うことにより間単に @@ -724,7 +730,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

これを行なったときは、抹消された行が使っているディスク空間を回収 するためにVACUUM FULL tabをしたほうが良いかもしれません。

-

4.4) ロウ、テーブル、データベースの最大サイズは?

+

4.4) ロウ、テーブル、データベースの最大サイズは?

制限は以下のとおりです:

@@ -757,7 +763,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

がなによりの保険で、また、フルテキストのインデックスではカラム内の 単語を検索することができます。

-

4.5) 一般的なテキストファイルのデータを保存するには、データベースのディスク容量はどのくらい必要です?

+

4.5) 一般的なテキストファイルのデータを保存するには、データベースのディスク容量はどのくらい必要です?

普通のテキストファイルを PostgreSQL のデータベースに保存するには、 最大で約5倍のディスク容量を必要とします。

@@ -795,7 +801,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

ずかにスペースを使います。

-

4.6) クエリが遅いのはなぜでしょう? なぜ、インデックスが使われないのでしょうか?

+

4.6) クエリが遅いのはなぜでしょう? なぜ、インデックスが使われないのでしょうか?

インデックスは、すべてのクエリで使われるわけではありません。テー ブルが最小サイズより大きく、クエリでそのわずかなパーセンテージのロウ @@ -809,7 +815,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

て収集することができます。統計情報を使ってオプティマイザはテーブルの 中にあるロウ数を知り、インデックスを使うべきかの決定をより正しくでき ます。統計情報は最適な結合順や結合方法を決める上でも貴重なものもあり - ます。統計情報の収集は、テーブルの内容がかわると毎に繰返しなされるべ + ます。統計情報の収集は、テーブルの内容が変わる毎に繰返しなされるべ きです。

インデックスは、通常 ORDER BY や結合を行なうため @@ -845,7 +851,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

  • 検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。
  • ILIKE~* のような大文字と小文字を区別し ない検索は使えません。そのかわり、このFAQの4.8節で説明する式インデックスが使えます。 + href="#item4.8">4.8節で説明する式インデックスが使えます。
  • initdb においては、デフォルトでCロケールが使われな くてはなりません。その理由は、Cロケール以外では次に大きな文字を @@ -862,11 +868,11 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    です。

    -

    4.7) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどうしますか?

    +

    4.7) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどうしますか?

    オンラインマニュアルで EXPLAIN を見てください。

    -

    4.8) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使いますか?

    +

    4.8) 正規表現での検索や大文字と小文字とを区別しない正規表現検索はどのように実現しますか?大文字と小文字とを区別しない検索のためのインデックスはどのように使いますか?

    ~演算子は正規表現照合を行ない、~* は大文字と小文字 を区別しない(case-insensitive)正規表現照合を行います。 大文字と小文 @@ -894,7 +900,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    -

    4.9) クエリの中で、フィールドがNULL であることを検出するにはどうしますか? フィールドがNULLかどうかでどのようにソートができますか?

    +

    4.9) クエリの中で、フィールドがNULL であることを検出するにはどうしますか? フィールドがNULLかどうかでどのようにソートができますか?

    以下のように、IS NULLIS NOT NULLで、そのカラムをテストしてみます:

    @@ -918,7 +924,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    -

    4.10) いろいろな文字型のそれぞれの違いは何ですか? +

    4.10) いろいろな文字型のそれぞれの違いは何ですか?

    @@ -950,7 +956,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    です。これらのタイプは同じくらいの性能特性をもちます。

    -

    4.11.1) 通番(serial)/自動増分フィールドはどのようにつくりますか?

    +

    4.11.1) 通番(serial)/自動増分フィールドはどのようにつくりますか?

    PostgreSQL は SERIAL データ型をサポートします。カ ラム上にシーケンスを自動作成します。たとえば、

    @@ -968,21 +974,25 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    id INT4 NOT NULL DEFAULT nextval('person_id_seq'), name TEXT ); + + +

         [訳注:
     	CREATE UNIQUE INDEX person_id_key ON person ( id );
     	は、 7.3 以降は自動的には行なわれなくなりました。
         ]
    -
    +

    + 通番についてのもっと詳しい情報は、オンラインマニュアルで create_sequence をごらんください。 -

    4.11.2) SERIALデータ型に挿入される値は、どうすれば得られますか?

    +

    4.11.2) SERIALデータ型に挿入される値は、どうすれば得られますか?

    ひとつの方法は、nextval() 関数を使ってその値を挿入する 前(before)に SEQUENCE オブジェクトから次の SERIAL 値を取り出し、それから実際に挿入をすることです。4.11.1 のテーブルの例を使うとすると、疑似言語では + href="#item4.11.1">4.11.1 のテーブルの例を使うとすると、疑似言語では このようになります。

    @@ -1007,13 +1017,13 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    -

    4.11.3) currval() は他のユーザとの競合状態に陥ることはないですか?

    +

    4.11.3) currval() は他のユーザとの競合状態に陥ることはないですか?

    それはありません。currval() は、すべてのユーザではありませ んが、読者のセッションに与えられた現在の値を返します。

    -

    4.11.4) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?

    +

    4.11.4) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?

    同時性を改善するために、実行中のトランザクションに、必要に応じてト ランザクションが終了するまでロックされないようシーケンス値を与えてい @@ -1021,7 +1031,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    生じます。

    -

    4.12) OID とは何ですか? CTID とは何ですか?

    +

    4.12) OID とは何ですか? CTID とは何ですか?

    PostgreSQLでつくられるすべてのロウは、WITHOUT OIDS でつくられないかぎり一意のOIDを得ます。 @@ -1044,7 +1054,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    クスの記載に使われます。

    -

    4.13) エラーメッセージ "ERROR: Memory exhausted in AllocSetAlloc()"が出るのはなぜですか?

    +

    4.13) エラーメッセージ "ERROR: Memory exhausted in AllocSetAlloc()"が出るのはなぜですか?

    おそらく、システムの仮想メモリーを全て使い果たしてしまっている可 能性があるか、カーネルがあるリソースについてもつ制限値が低すぎる可能 @@ -1063,12 +1073,12 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    いているのであれば、クライアントを開始する前にこれを試してみてくださ い。 -

    4.14) どのバージョンの PostgreSQL を走らせているかを調べるにはどうしますか?

    +

    4.14) どのバージョンの PostgreSQL を走らせているかを調べるにはどうしますか?

    psql から SELECT version(); をタイプします。

    -

    4.15) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?

    +

    4.15) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?

    CURRENT_TIMESTAMPを使います:

    @@ -1076,7 +1086,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    -

    4.16) 外部結合(outer join)はどのように実現しますか?

    +

    4.16) 外部結合(outer join)はどのように実現しますか?

    PostgreSQL は SQL 標準構文を使う外部結合(アウタージョイン)をサポー トします。ここに 2つの例題があります。

    @@ -1094,7 +1104,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    これらの象徴的なクエリでは t1.col を t2.col と結合して、t1 の結合されなかったロウ(t2 と一致しなかったロウ)も返しています。RIGHT 結合は t2 の結合されなかったロウを加えるでしょう。FULL 結合は、一致したロウに t1 と t2 からは結合されなかったロウを返すでしょう。OUTER という言葉はオプションで LEFT, RIGHT, または FULL などの結合を仮定されています。通常、結合はINNER結合と呼ばれます。 -

    4.17) 複数のデータベースを使う問い合わせはどのようにすればできますか?

    +

    4.17) 複数のデータベースを使う問い合わせはどのようにすればできますか?

    現行のデータベース以外への問い合わせの方法はありません。というの もPostgreSQLがデータベース仕様のシステムカタログを読み込むためで、そ @@ -1107,7 +1117,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    なくてはなりません。

    -

    4.18) 関数から複数のロウまたはカラムを返すにはどうしますか?

    +

    4.18) 関数から複数のロウまたはカラムを返すにはどうしますか?

    集合を返す関数(Set Returning Functions): @@ -1115,7 +1125,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    を使うと簡単です

    。 -

    4.19) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?

    +

    4.19) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?

    PL/PgSQL は関数スクリプトをキャッシュし、不幸にもその副作用で、 PL/PgSQL関数が一時テーブルにアクセスする場合、後でそのテーブルを消し @@ -1125,8 +1135,8 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    ブルへのアクセスのために使います。そうすると、クエリは毎回パースをや り直しされるようになります。

    -

    4.20) どのようなレプリケーションのソリューションがありますか?

    -

    「レプリケーション」と一言で言いますすが、レプリケーションをする +

    4.20) どのようなレプリケーションのソリューションがありますか?

    +

    「レプリケーション」と一言でいいますが、レプリケーションをする ための技術はいくつかあり、それぞれ、利点と欠点があります。

    マスタ/スレーブのレプリケーションは、読み/書きのクエリを受け取 @@ -1147,29 +1157,31 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    この他にも、商用やハードウェア−ベースのレプリケーションソリュー ションがいろいろなレプリケーションモデルをサポートしています。

    -

    4.21)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?

    +

    4.21)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?

    -

    もっとも一般的な原因は、テーブルを作成する際に、テーブルやカラムを囲 - う二重引用符の使用です。二重引用符を使うと、テーブルとカラムの名前 +

    もっとも一般的な原因は、テーブルを作成する際に、テーブルやカラムを + 囲う二重引用符の使用です。二重引用符を使うと、テーブルとカラムの名前 (識別子と呼びます)は大文字と小文字の区別 - をして格納されす。したがって、pgAdminのようにテーブル作成のときに自 - 動的に二重引用符を使うものはクエリの中でそれらの名前を使うときに二 - 重引用符を付けなくてはならないことを意味します。このため、識別子を - 認識させるためには以下のいずれかを心がけます。 + をして格納されます。したがって、pgAdminのようにテーブル作成のときに + 自動的に二重引用符を使うものはクエリの中でそれらの名前を使うときに + 二重引用符を付けなくてはならないことを意味します。このため、識別子 + を認識させるためには以下のいずれかを心がけます。

    • テーブルを作成するときに二重引用符で識別子を囲うことを避ける
    • 識別子には小文字だけを使う
    • -
    • クエリの中で参照するときは二重引用譜で識別子を囲う
    • +
    • クエリの中で参照するときは二重引用符で識別子を囲う

    -
    +
    +

    「日本語版について」

    +

     [訳注:
       日本語版の製作については以下の通りです。
     
    -  最終更新日:	2005年11月17日
    +  最終更新日:	2005年12月14日
       翻訳者:	桑村 潤 (Jun Kuwamura <juk at PostgreSQL.jp>)
     
       このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
    @@ -1193,20 +1205,25 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    をはじめ、ポストグレスに関する話題豊富な日本語PostgreSQLメーリングリスト、 和訳のきっかけを作ってくれたり、いつもチェックをしてくれる - JF(Linux Japanese FAQ)プロジェクト、 - FreeBSD ドキュメンテーションプロジェクト、 その他、直接あるいは間接的に - かかわっているすべてのオープンソースコミュニティーのみなさまに感謝します。 + JF(Linux Japanese FAQ)プロジェクト、FreeBSD ドキュメンテーションプロジェクト + の方々、それから、直接あるいは間接的にかかわってくださるすべてのオープンソース + コミュニティのみなさまに感謝いたします。 - 日本語版のこの文書は 本家 "Frequently Asked Questions" のページに "Japanese FAQ" という見出であります。 - また、最新版は以下のサイトにあります。 - http://www.PostgreSQL.jp/wg/jpugdoc/JPUG文書・書籍関連分科会 - http://www.linux.or.jp/JF/Linux JFプロジェクト - http://www.rccm.co.jp/~juk/pgsql/(FAQ和訳 PostgreSQL についてよくある質問) - なお、この和訳に関するご意見・ご質問は(juk at PostgreSQL.jp)までお寄せください。 + この翻訳文書は 本家 "Frequently Asked Questions" のページに "Japanese FAQ" + という項目であります。 + + また、最新版は以下のサイトにあります。 + http://www.PostgreSQL.jp/wg/jpugdoc/ 「JPUG文書・書籍関連分科会」 + http://www.linux.or.jp/JF/JFdocs/INDEX-database.html 「Linux JFプロジェクト」 + http://www.rccm.co.jp/~juk/pgsql/ 「PostgreSQL Notes for Japanese」(翻訳者ページ) + + なお、この和訳に関するご意見・ご質問は(juk at PostgreSQL.jp)までお寄せください。 + (※ メールアドレスの " at " は適切に直してください。半角の "@" です。) ] -
    -

    +

  • -- cgit v1.2.3