Update Japanese FAQ.

Jun Kuwamura
This commit is contained in:
Bruce Momjian 2007-10-10 13:43:42 +00:00
parent fb074439ae
commit 688b3aac49
3 changed files with 157 additions and 188 deletions

View File

@ -1,9 +1,9 @@
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ) PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)
原文最終更新日: Last updated: Fri Sep 14 14:39:54 EDT 2007 原文最終更新日: Last updated: Tue Oct 9 16:13:00 EDT 2007
現在の維持管理者: Bruce Momjian (bruce@momjian.us) 現在の維持管理者: Bruce Momjian (bruce@momjian.us)
Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp) Maintainer of Japanese Translation: Jun Kuwamura (juk at postgresql.jp)
この文書の最新版は http://www.postgresql.org/docs/faqs.FAQ.html で見ることがで この文書の最新版は http://www.postgresql.org/docs/faqs.FAQ.html で見ることがで
きます。 きます。
@ -89,10 +89,8 @@ NULL
4.16) 外部結合(outer join)はどのように実現しますか? 4.16) 外部結合(outer join)はどのように実現しますか?
4.17) 複数のデータベースを使う問い合わせはどのようにすればできますか? 4.17) 複数のデータベースを使う問い合わせはどのようにすればできますか?
4.18) 関数から複数のロウまたはカラムを返すにはどうしますか? 4.18) 関数から複数のロウまたはカラムを返すにはどうしますか?
4.19) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation 4.19) どのようなレプリケーションのソリューションがありますか?
with OID ##### does not exist" というエラーを受け取るのでしょうか? 4.20) テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大
4.20) どのようなレプリケーションのソリューションがありますか?
4.21) テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大
文字化(キャピタライズ)は温存されないのですか? 文字化(キャピタライズ)は温存されないのですか?
日本語に関する質問 日本語に関する質問
@ -126,8 +124,8 @@ PostgreSQL
タを持ちますが、これらのグループはコントロールするためというよりも、管理上のも タを持ちますが、これらのグループはコントロールするためというよりも、管理上のも
のです。ここでは、プロジェクトは、だれでも参加ができる開発者とユーザのコミュニ のです。ここでは、プロジェクトは、だれでも参加ができる開発者とユーザのコミュニ
ティにより方向付けられます。読者がやらなければならないことは、メーリングリスト ティにより方向付けられます。読者がやらなければならないことは、メーリングリスト
をサブスクライブして、議論に参加することです。Developer's FAQには、PostgreSQL をサブスクライブして、議論に参加することです。Developer's FAQには、Postgres開
発に加わり方についての情報があります。) 発に加わり方についての情報があります。)
1.3) PostgreSQL の著作権はどうなってますか? 1.3) PostgreSQL の著作権はどうなってますか?
@ -204,7 +202,7 @@ PostgreSQL
ースのオペレーティングシステムで、ネイティブに走ります。あらかじめパッケージに ースのオペレーティングシステムで、ネイティブに走ります。あらかじめパッケージに
されたインストーラが http://pgfoundry.org/projects/pginstaller にあり、利用でき されたインストーラが http://pgfoundry.org/projects/pginstaller にあり、利用でき
ます。MSDOSベースのWindowsのバージョン(Win95, Win98, WinMe)では、Cygwinを使って ます。MSDOSベースのWindowsのバージョン(Win95, Win98, WinMe)では、Cygwinを使って
PostgreSQL を走らせることができます。 Postgres を走らせることができます。
[訳注 [訳注
pgInstaller の入手はFTPミラーサイトの win32 ディレクトリからも可能です。 pgInstaller の入手はFTPミラーサイトの win32 ディレクトリからも可能です。
@ -223,7 +221,7 @@ sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F
1.5) PostgreSQL はどこから入手できますか? 1.5) PostgreSQL はどこから入手できますか?
Webブラウザ経由だと、 http://www.postgresql.org/ftp/、それから、ftp経由だと、 Webブラウザ経由だと、 http://www.postgresql.org/ftp/、それから、ftp経由だと、
ftp://ftp.PostgreSQL.org/pub/ を使います。 ftp://ftp.postgresql.org/pub/ を使います。
1.6) 最新のリリースはどれですか? 1.6) 最新のリリースはどれですか?
@ -259,7 +257,7 @@ postgresql-br)
Web会員と正会員の会費は無料ですが、協賛会員の会費と会員の貢献で Web会員と正会員の会費は無料ですが、協賛会員の会費と会員の貢献で
会は運営されています。) 会は運営されています。)
詳しくは、JPUG のWeb サイト: 詳しくは、JPUG のWeb サイト:
http://www.PostgreSQL.jp/ http://www.postgresql.jp/
をごらんください。 をごらんください。
日本語のIRCチャンネル '#PostgreSQL:*.jp' も存在します。 日本語のIRCチャンネル '#PostgreSQL:*.jp' も存在します。
@ -274,8 +272,8 @@ professional_support
http://www.postgresql.org/support/submitbug のPostgreSQL バグフォームを訪れてく http://www.postgresql.org/support/submitbug のPostgreSQL バグフォームを訪れてく
ださい。バグレポートを提出する仕方についての手引と指針があります。 ださい。バグレポートを提出する仕方についての手引と指針があります。
それと同時に ftp サイト ftp://ftp.PostgreSQL.org/pub/ で、最新バージョンの それと同時に ftp サイト ftp://ftp.postgresql.org/pub/ で、最新バージョンの
PostgreSQL を探してみてください。 Postgres を探してみてください。
1.9) 既知のバグや未だ無い機能はどうやって見つけますか? 1.9) 既知のバグや未だ無い機能はどうやって見つけますか?
@ -294,22 +292,22 @@ PostgreSQL
我々は、PostgreSQL に関して、電子メールで直接対応して TODO リストを最新に更新し 我々は、PostgreSQL に関して、電子メールで直接対応して TODO リストを最新に更新し
てゆくほうがより効果的であることを知っていますので、バグ追跡システムは使いませ てゆくほうがより効果的であることを知っていますので、バグ追跡システムは使いませ
ん。現実に、このソフトウェアの中でバグはそれほど長くはい続けませんし、多くのユ ん。現実に、このソフトウェアの中でバグはそれほど長くはい続けませんし、多くのユ
ーザに影響するバグは早急に修正されます。PostgreSQLのリリースで、すべての変更点 ーザに影響するバグは早急に修正されます。Postgresのリリースで、すべての変更点、
改良点、そして、修正点を知りたければ、 CVS のログメッセージを見てください。リ 改良点、そして、修正点を知りたければ、 CVS のログメッセージを見てください。リ
ースノートにさえ、このソフトウェアに加えられたすべての変更点は網羅されていま ースノートにさえ、このソフトウェアに加えられたすべての変更点は網羅されていま
ん。 ん。
1.10) どのような文書がありますか? 1.10) どのような文書がありますか?
配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュアル・ページ)お 配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュアル・ページ)お
よびいくつかの小さなテスト例題が含まれます。 /docディレクトリをごらんください。 よびいくつかの小さなテスト例題が含まれます。 /docディレクトリをごらんください。
また、マニュアルは、 http://www.PostgreSQL.org/docs/でオンラインでも閲覧できま また、マニュアルは、 http://www.postgresql.org/docs/でオンラインでも閲覧できま
す。 す。
[訳注: [訳注:
JPUG 文書・書籍関連分科会で翻訳されたマニュアルもあります。 JPUG 文書・書籍関連分科会で翻訳されたマニュアルもあります。
http://www.postgresql.jp/document/pg803doc/ http://www.postgresql.jp/document/pg825doc/
インプレスから、 インプレスから、
PostgreSQLオフィシャルマニュアルとして出版されています。 PostgreSQLオフィシャルマニュアルとして出版されています。
@ -317,7 +315,7 @@ PostgreSQL
] ]
オンラインで参照できる PostgreSQL の本も2冊あります。 http://www.PostgreSQL.org オンラインで参照できる PostgreSQL の本も2冊あります。 http://www.postgresql.org
/docs/books/awbook.html /docs/books/awbook.html
[訳注: [訳注:
@ -335,8 +333,8 @@ PostgreSQL
] ]
購入可能な書籍の目録は、http://techdocs.PostgreSQL.org/techdocs/bookreviews.php 購入可能な書籍の目録は、http://techdocs.postgresql.org/techdocs/bookreviews.php
にあります。 PostgreSQL 技術情報記事も、http://techdocs.PostgreSQL.org/ にあり にあります。 PostgreSQL 技術情報記事も、http://techdocs.postgresql.org/ にあり
ます。 ます。
[訳注: [訳注:
@ -538,10 +536,10 @@ Web
3.5) 接続しようとするときに 'Sorry, too many clients' が出るのはなぜですか? 3.5) 接続しようとするときに 'Sorry, too many clients' が出るのはなぜですか?
既定での制限である 100 のデータベースセッションに達してしまっています。 既定での制限である 100 のデータベースセッションに達してしまっています。サーバー
postmasterが同時接続できるバックエンドプロセスの制限数を増やす必要があります。 の同時接続できるバックエンドプロセスの制限値を増やす必要があります。
postgresql.conf の中の max_connections の値を変更して postmasterを再起動するこ postgresql.conf の中のmax_connections の値を変更してサーバを再起動することで可
とで可能になります。 能になります。
3.6) PostgreSQLのアップグレードの手順はどうなりますか 3.6) PostgreSQLのアップグレードの手順はどうなりますか
@ -684,8 +682,8 @@ VACUUM FULL tab
例題として、各行に整数とテキスト記述を持つ 100,000行のファイルを考えてみましょ 例題として、各行に整数とテキスト記述を持つ 100,000行のファイルを考えてみましょ
う。テキストの文字列の平均長さを20バイトと仮定すると、フラットファイルの大きさ う。テキストの文字列の平均長さを20バイトと仮定すると、フラットファイルの大きさ
は約2.8MB です。このデータを含む PostgreSQL データベースファイルの大きさは次の は約2.8MB です。このデータを含む Postgres データベースファイルの大きさは次の
うに約5.2MBと見積もることができます: うに約5.2MBと見積もることができます:
24 bytes: 各ロウのヘッダ(概算) 24 bytes: 各ロウのヘッダ(概算)
24 bytes: 整数(int)フィールドとテキスト(text)フィールド 24 bytes: 整数(int)フィールドとテキスト(text)フィールド
@ -693,7 +691,7 @@ VACUUM FULL tab
---------------------------------------- ----------------------------------------
52 bytes per row 52 bytes per row
PostgreSQL のデータページサイズは 8192バイト(8KB)なので: Postgres のデータページサイズは 8192バイト(8KB)なので:
8192 bytes per page 8192 bytes per page
------------------- = 146 rows per database page (切り捨て) ------------------- = 146 rows per database page (切り捨て)
@ -754,11 +752,8 @@ LIKE
text_pattern_ops text_pattern_ops
インデックスを作成することもできます。 インデックスを作成することもできます。また、それを全文検索のフルテキストの
インデックス作成に使うことができます。
8.0より前のリリースでは、インデックスは、データ型がちょうどインデックスのカラム
の型と一致しなければ、使えないことがしばしばありました。おそらく、int2, int8,
および numeric 等のカラムのインデックスがそうです。
4.7) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどう 4.7) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどう
しますか? しますか?
@ -859,28 +854,16 @@ PostgreSQL
] ]
通番についてのもっと詳しい情報は、オンラインマニュアルで create_sequence をごら 自動的に生成される通番は、 <table>_<serialcolumn>_seq と名付けられていて、table
んください。 と serialcolumn は、それぞれテーブルと SERIAL カラムの名前です。通番については
、オンラインマニュアルでcreate_sequence をごらんください。
4.11.2) SERIALデータ型に挿入される値は、どうすれば得られますか 4.11.2) SERIALデータ型に挿入される値は、どうすれば得られますか
ひとつの方法は、nextval() 関数を使ってその値を挿入する前(before)に SEQUENCE オ 最も簡単な方法は、割り当てられたSERIAL値を RETURNINGとして取得することです。
ブジェクトから次の SERIAL 値を取り出し、それから実際に挿入をすることです。 4.11.1の例題テーブルを使うと次のようになります。
4.11.1 のテーブルの例を使うとすると、疑似言語ではこのようになります。
new_id = execute("SELECT nextval('person_id_seq')"); INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id;
execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
そうして、new_id に保存した新しい値を他のクエリ(たとえば、 person テーブルに対
する外部キー(foreign key)のように)使うとよいでしょう。自動的に作られたSEQUENCE
オブジェクトの名前は、<table>_<serialcolumn>_seq のようになり、このうち、table
と serialcolumn はそれぞれテーブルの名前とSERIALカラムの名前です。
あるいは、与えられたSERIAL値を、それが既定値として挿入された後で(after)、
currval() 関数を使って取り出すこともできます。たとえば、
execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
new_id = execute("SELECT currval('person_id_seq')");
4.11.3) currval() は他のユーザとの競合状態に陥ることはないですか? 4.11.3) currval() は他のユーザとの競合状態に陥ることはないですか?
@ -914,8 +897,8 @@ CTID
ぜですか? ぜですか?
おそらく、システムの仮想メモリーを全て使い果たしてしまっている可能性があるか、 おそらく、システムの仮想メモリーを全て使い果たしてしまっている可能性があるか、
カーネルがあるリソースについてもつ制限値が低すぎる可能性があります。postmaster カーネルがあるリソースについてもつ制限値が低すぎる可能性があります。サーバを始
を始動する前にこれを試してみてください: 動する前にこれを試してみてください:
ulimit -d 262144 ulimit -d 262144
limit datasize 256m limit datasize 256m
@ -975,17 +958,7 @@ techdocs.17
4.19) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation 4.19) どのようなレプリケーションのソリューションがありますか?
with OID ##### does not exist" というエラーを受け取るのでしょうか?
PL/PgSQL は関数スクリプトをキャッシュし、不幸にもその副作用で、 PL/PgSQL関数が
一時テーブルにアクセスする場合、後でそのテーブルを消して作りなおされ、関数がも
う一度呼び出されると、その関数はキャッシュしている関数の内容はまだ古い一時テー
ブルを差し示したままだからです。この、解決策として、PL/PgSQLの中で EXECUTE を一
時テーブルへのアクセスのために使います。そうすると、クエリは毎回パースをやり直
しされるようになります。
4.20) どのようなレプリケーションのソリューションがありますか?
「レプリケーション」と一言でいいますが、レプリケーションをするための技術はいく 「レプリケーション」と一言でいいますが、レプリケーションをするための技術はいく
つかあり、それぞれ、利点と欠点があります。 つかあり、それぞれ、利点と欠点があります。
@ -1003,10 +976,10 @@ PL/PgSQL
この他にも、商用やハードウェア-ベースのレプリケーションソリューションがいろい この他にも、商用やハードウェア-ベースのレプリケーションソリューションがいろい
ろなレプリケーションモデルをサポートしています。 ろなレプリケーションモデルをサポートしています。
4.21)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文 4.20)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文
字化(キャピタライズ)は温存されないのですか? 字化(キャピタライズ)は温存されないのですか?
認識された名前のもっとも一般的な原因は、テーブルを作成する際に、テーブルやカラ 名前が認識されない、最も一般的な原因は、テーブルを作成する際に、テーブルやカラ
ムを囲う二重引用符の使用です。二重引用符を使うと、テーブルとカラムの名前(識別 ムを囲う二重引用符の使用です。二重引用符を使うと、テーブルとカラムの名前(識別
子といいますは大文字と小文字の区別をして格納されます。したがって、pgAdminのよ 子といいますは大文字と小文字の区別をして格納されます。したがって、pgAdminのよ
うにテーブル作成のときに自動的に二重引用符を使うものはクエリの中でそれらの名前 うにテーブル作成のときに自動的に二重引用符を使うものはクエリの中でそれらの名前
@ -1048,8 +1021,8 @@ client_encoding
[訳注: [訳注:
日本語版の製作については以下の通りです。 日本語版の製作については以下の通りです。
最終更新日: 2007年09月15 最終更新日: 2007年10月10
翻訳者: 桑村 潤 (Jun Kuwamura <juk at PostgreSQL.jp>) 翻訳者: 桑村 潤 (Jun KUWAMURA <juk at postgresql.jp>)
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます): このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
@ -1067,7 +1040,7 @@ client_encoding
せせ じゅん(Jun SESE <sesejun at linet.gr.jp>) せせ じゅん(Jun SESE <sesejun at linet.gr.jp>)
神谷 英孝(Hidetaka KAMIYA <hkamiya at catvmics.ne.jp>) 神谷 英孝(Hidetaka KAMIYA <hkamiya at catvmics.ne.jp>)
菅原 敦(Atsushi SUGAWARA <asugawar at f3.dion.ne.jp>) 菅原 敦(Atsushi SUGAWARA <asugawar at f3.dion.ne.jp>)
稲葉 香理(Kaori Inaba <i-kaori at sra.co.jp>) 稲葉 香理(Kaori Inaba <i-kaori at sraoss.co.jp>)
をはじめ、ポストグレスに関する話題豊富な日本語PostgreSQLメーリングリスト、 をはじめ、ポストグレスに関する話題豊富な日本語PostgreSQLメーリングリスト、
和訳のきっかけを作ってくれたり、いつもチェックをしてくれる 和訳のきっかけを作ってくれたり、いつもチェックをしてくれる
@ -1080,10 +1053,10 @@ client_encoding
という項目であります。 という項目であります。
また、最新版は以下のサイトにあります。 また、最新版は以下のサイトにあります。
http://www.PostgreSQL.jp/wg/jpugdoc/ 「JPUG文書・書籍関連分科会」 http://www.postgresql.jp/wg/jpugdoc/ 「JPUG文書・書籍関連分科会」
http://www.linux.or.jp/JF/JFdocs/INDEX-database.html 「Linux JFプロジェクト」 http://www.linet.gr.jp/~juk/pgsql/ 「PostgreSQL Notes for Japanese」翻訳者ページ http://www.linux.or.jp/JF/JFdocs/INDEX-database.html 「Linux JFプロジェクト」 http://www.linet.gr.jp/~juk/pgsql/ 「PostgreSQL Notes for Japanese」翻訳者ページ
なお、この和訳に関するご意見・ご質問は(juk at PostgreSQL.jp)までお寄せください。 なお、この和訳に関するご意見・ご質問は(juk at postgresql.jp)までお寄せください。
(※ メールアドレスの " at " は適切に直してください。半角の "@" です。) (※ メールアドレスの " at " は適切に直してください。半角の "@" です。)
] ]

View File

@ -9,11 +9,11 @@
<div id="pgContentWrap"> <div id="pgContentWrap">
<h1>PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</h1> <h1>PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</h1>
<p>原文最終更新日: Last updated: Fri Sep 14 14:39:54 EDT 2007</p> <p>原文最終更新日: Last updated: Tue Oct 9 16:13:00 EDT 2007</p>
<p>現在の維持管理者: Bruce Momjian (<A <p>現在の維持管理者: Bruce Momjian (<A
href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br /> href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br />
Maintainer of Japanese Translation: Jun Kuwamura (<A Maintainer of Japanese Translation: Jun Kuwamura (<A
href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> href="mailto:juk at postgresql.jp">juk at postgresql.jp</a>)<br /></p>
<p>この文書の最新版は<a href= <p>この文書の最新版は<a href=
"http://www.postgresql.org/docs/faqs.FAQ.html"> "http://www.postgresql.org/docs/faqs.FAQ.html">
http://www.postgresql.org/docs/faqs.FAQ.html</a> http://www.postgresql.org/docs/faqs.FAQ.html</a>
@ -99,9 +99,8 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
<a href="#item4.16">4.16</a>) <i>外部</i>結合(<i>outer</i> join)はどのように実現しますか?<br /> <a href="#item4.16">4.16</a>) <i>外部</i>結合(<i>outer</i> join)はどのように実現しますか?<br />
<a href="#item4.17">4.17</a>) 複数のデータベースを使う問い合わせはどのようにすればできますか?<br /> <a href="#item4.17">4.17</a>) 複数のデータベースを使う問い合わせはどのようにすればできますか?<br />
<a href="#item4.18">4.18</a>) 関数から複数のロウまたはカラムを返すにはどうしますか?<br /> <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.19">4.19</a>) どのようなレプリケーションのソリューションがありますか?<br />
<a href="#item4.20">4.20</a>) どのようなレプリケーションのソリューションがありますか?<br /> <a href="#item4.20">4.20</a>) テーブルとカラムの名前がクエリーの中で認識
<a href="#item4.21">4.21</a>) テーブルとカラムの名前がクエリーの中で認識
されないのはなぜですか? なぜ大文字化(キャピタライズ)は温存されないのですか?<br /> されないのはなぜですか? なぜ大文字化(キャピタライズ)は温存されないのですか?<br />
<h2 align="center">日本語に関する質問</h2> <h2 align="center">日本語に関する質問</h2>
@ -146,7 +145,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
付けられます。読者がやらなければならないことは、メーリングリストを 付けられます。読者がやらなければならないことは、メーリングリストを
サブスクライブして、議論に 参加することです。(<a サブスクライブして、議論に 参加することです。(<a
href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">Developer's href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">Developer's
FAQ</a>には、PostgreSQL開発に加わり方についての情報があります。)</p> FAQ</a>には、Postgres開発に加わり方についての情報があります。)</p>
<h4 id="item1.3">1.3</a>) PostgreSQL の著作権はどうなってますか?</h4> <h4 id="item1.3">1.3</a>) PostgreSQL の著作権はどうなってますか?</h4>
@ -231,7 +230,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
"http://pgfoundry.org/projects/pginstaller"> "http://pgfoundry.org/projects/pginstaller">
http://pgfoundry.org/projects/pginstaller</a> http://pgfoundry.org/projects/pginstaller</a>
にあり、利用できます。MSDOSベースのWindowsのバージョン(Win95, Win98, にあり、利用できます。MSDOSベースのWindowsのバージョン(Win95, Win98,
WinMe)では、Cygwinを使って PostgreSQL を走らせることができます。</p> WinMe)では、Cygwinを使って Postgres を走らせることができます。</p>
<small><pre> <small><pre>
[訳注 [訳注
@ -255,8 +254,8 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
<p>Webブラウザ経由だと、<a href="http://www.postgresql.org/ftp/"> <p>Webブラウザ経由だと、<a href="http://www.postgresql.org/ftp/">
http://www.postgresql.org/ftp/</a>、それから、ftp経由だと、 http://www.postgresql.org/ftp/</a>、それから、ftp経由だと、
<a href="ftp://ftp.PostgreSQL.org/pub/"> <a href="ftp://ftp.postgresql.org/pub/">
ftp://ftp.PostgreSQL.org/pub/</a> を使います。</p> ftp://ftp.postgresql.org/pub/</a> を使います。</p>
<h4 id="item1.6">1.6</a>) 最新のリリースはどれですか?</h4> <h4 id="item1.6">1.6</a>) 最新のリリースはどれですか?</h4>
@ -300,7 +299,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
Web会員と正会員の会費は無料ですが、協賛会員の会費と会員の貢献で Web会員と正会員の会費は無料ですが、協賛会員の会費と会員の貢献で
会は運営されています。) 会は運営されています。)
詳しくは、JPUG のWeb サイト: 詳しくは、JPUG のWeb サイト:
<a href="http://www.PostgreSQL.jp/">http://www.PostgreSQL.jp/</a> <a href="http://www.postgresql.jp/">http://www.postgresql.jp/</a>
をごらんください。 をごらんください。
日本語のIRCチャンネル '#PostgreSQL:*.jp' も存在します。 日本語のIRCチャンネル '#PostgreSQL:*.jp' も存在します。
@ -322,8 +321,8 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
についての手引と指針があります。</p> についての手引と指針があります。</p>
<p> それと同時に ftp サイト <A <p> それと同時に ftp サイト <A
href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</a> href="ftp://ftp.postgresql.org/pub/">ftp://ftp.postgresql.org/pub/</a>
で、最新バージョンの PostgreSQL を探してみてください。</p> で、最新バージョンの Postgres を探してみてください。</p>
<h4 id="item1.9">1.9</a>) 既知のバグや未だ無い機能はどうやって見つけますか? <h4 id="item1.9">1.9</a>) 既知のバグや未だ無い機能はどうやって見つけますか?
@ -357,7 +356,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
リストを最新に更新してゆくほうがより効果的であることを知っています リストを最新に更新してゆくほうがより効果的であることを知っています
ので、バグ追跡システムは使いません。 ので、バグ追跡システムは使いません。
現実に、このソフトウェアの中でバグはそれほど長くはい続けませんし、 現実に、このソフトウェアの中でバグはそれほど長くはい続けませんし、
多くのユーザに影響するバグは早急に修正されます。PostgreSQLのリリース 多くのユーザに影響するバグは早急に修正されます。Postgresのリリース
で、すべての変更点、改良点、そして、修正点を知りたければ、 で、すべての変更点、改良点、そして、修正点を知りたければ、
<a href="http://www.postgresql.org/developer/sourcecode/">CVS</a> <a href="http://www.postgresql.org/developer/sourcecode/">CVS</a>
のログメッセージを見てください。リリースノートにさえ、このソフトウェア のログメッセージを見てください。リリースノートにさえ、このソフトウェア
@ -369,16 +368,16 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
<p> 配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュ <p> 配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュ
アル・ページ)およびいくつかの小さなテスト例題が含まれます。 アル・ページ)およびいくつかの小さなテスト例題が含まれます。
<i>/doc</i>ディレクトリをごらんください。また、マニュアルは、<A <i>/doc</i>ディレクトリをごらんください。また、マニュアルは、<A
href="http://www.PostgreSQL.org/docs/"> href="http://www.postgresql.org/docs/">
http://www.PostgreSQL.org/docs/</a>でオンラインでも閲覧できます。 http://www.postgresql.org/docs/</a>でオンラインでも閲覧できます。
</p> </p>
<p><small><pre> <p><small><pre>
[訳注: [訳注:
JPUG 文書・書籍関連分科会で翻訳されたマニュアルもあります。 JPUG 文書・書籍関連分科会で翻訳されたマニュアルもあります。
<a href="http://www.postgresql.jp/document/pg820doc/"> <a href="http://www.postgresql.jp/document/pg825doc/">
http://www.postgresql.jp/document/pg803doc/</a> http://www.postgresql.jp/document/pg825doc/</a>
インプレスから、 インプレスから、
<a href="http://home.impress.co.jp/reference/2108.htm"> <a href="http://home.impress.co.jp/reference/2108.htm">
PostgreSQLオフィシャルマニュアル</a>として出版されています。 PostgreSQLオフィシャルマニュアル</a>として出版されています。
@ -388,12 +387,12 @@ http://www.PostgreSQL.org/docs/</a>
<p>オンラインで参照できる PostgreSQL の本も2冊あります。<a href= <p>オンラインで参照できる PostgreSQL の本も2冊あります。<a href=
"http://www.PostgreSQL.org/docs/books/awbook.html"> "http://www.postgresql.org/docs/books/awbook.html">
http://www.PostgreSQL.org/docs/books/awbook.html</a> http://www.postgresql.org/docs/books/awbook.html</a>
<p><small><pre> <p><small><pre>
[訳注: [訳注:
この本は、JPUG<a href="http://www.PostgreSQL.jp/wg/psqltrans/">「PostgreSQL Book翻訳分科会」 この本は、JPUG<a href="http://www.postgresql.jp/wg/psqltrans/">「PostgreSQL Book翻訳分科会」
</a>で翻訳され、ピアソンから<a href="http://www.seshop.com/detail.asp?pid=2587"> </a>で翻訳され、ピアソンから<a href="http://www.seshop.com/detail.asp?pid=2587">
「はじめてのPostgreSQL」</a>として出版されています。 「はじめてのPostgreSQL」</a>として出版されています。
] ]
@ -411,11 +410,11 @@ http://www.PostgreSQL.org/docs/</a>
</pre></small></p> </pre></small></p>
購入可能な書籍の目録は、<a href= 購入可能な書籍の目録は、<a href=
"http://techdocs.postgresql.org/techdocs/bookreviews.php">http://techdocs.PostgreSQL.org/techdocs/bookreviews.php</a> "http://techdocs.postgresql.org/techdocs/bookreviews.php">http://techdocs.postgresql.org/techdocs/bookreviews.php</a>
にあります。 にあります。
PostgreSQL 技術情報記事も、<a href= PostgreSQL 技術情報記事も、<a href=
"http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a> "http://techdocs.postgresql.org/">http://techdocs.postgresql.org/</a>
にあります。</p> にあります。</p>
<p><small><pre> <p><small><pre>
@ -696,10 +695,9 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
<h4 id="item3.5">3.5</a>) 接続しようとするときに <i>'Sorry, too many clients'</i> が出るのはなぜですか?</h4> <h4 id="item3.5">3.5</a>) 接続しようとするときに <i>'Sorry, too many clients'</i> が出るのはなぜですか?</h4>
<p> 既定での制限である 100 のデータベースセッションに達してしまって <p> 既定での制限である 100 のデータベースセッションに達してしまって
います。<i>postmasterが</i>同時接続できるバックエンドプロセスの制限 います。サーバーの同時接続できるバックエンドプロセスの制限値を増やす
数を増やす必要があります。<i>postgresql.conf</i> の中の 必要があります。<i>postgresql.conf</i> の中の<i>max_connections</i>
<i>max_connections</i> の値を変更して <i>postmaster</i>を再起動する の値を変更してサーバを再起動することで可能になります。</p>
ことで可能になります。</p>
<h4 id="item3.6">3.6</a>) PostgreSQLのアップグレードの手順はどうなりますか</h4> <h4 id="item3.6">3.6</a>) PostgreSQLのアップグレードの手順はどうなりますか</h4>
@ -868,7 +866,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
<p> 例題として、各行に整数とテキスト記述を持つ 100,000行のファイルを <p> 例題として、各行に整数とテキスト記述を持つ 100,000行のファイルを
考えてみましょう。テキストの文字列の平均長さを20バイトと仮定すると、 考えてみましょう。テキストの文字列の平均長さを20バイトと仮定すると、
フラットファイルの大きさは約2.8MB です。このデータを含む PostgreSQL フラットファイルの大きさは約2.8MB です。このデータを含む Postgres
データベースファイルの大きさは次のように約5.2MBと見積もることができ データベースファイルの大きさは次のように約5.2MBと見積もることができ
ます: ます:
@ -879,7 +877,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
---------------------------------------- ----------------------------------------
52 bytes per row 52 bytes per row
PostgreSQL のデータページサイズは 8192バイト(8KB)なので: Postgres のデータページサイズは 8192バイト(8KB)なので:
8192 bytes per page 8192 bytes per page
------------------- = 146 rows per database page (切り捨て) ------------------- = 146 rows per database page (切り捨て)
@ -945,16 +943,12 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
くてはなりません。その理由は、Cロケール以外では次に大きな文字を くてはなりません。その理由は、Cロケール以外では次に大きな文字を
知ることができないからです。このような場合、<pre>LIKE</pre>イン 知ることができないからです。このような場合、<pre>LIKE</pre>イン
デクシングにだけ働くような、特別な<pre>text_pattern_ops</pre> デクシングにだけ働くような、特別な<pre>text_pattern_ops</pre>
ンデックスを作成することもできます。 ンデックスを作成することもできます。また、それを全文検索のフル
テキストのインデックス作成に使うことができます。
</li> </li>
</ul> </ul>
<p> <p>
<p>8.0より前のリリースでは、インデックスは、データ型がちょうどインデッ
クスのカラムの型と一致しなければ、使えないことがしばしばありました。
おそらく、int2, int8, および numeric 等のカラムのインデックスがそう
です。</p>
<h4 id="ITEM4.7">4.7</a>) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどうしますか?</h4> <h4 id="ITEM4.7">4.7</a>) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどうしますか?</h4>
@ -1079,37 +1073,23 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
] ]
</small></pre></p> </small></pre></p>
通番についてのもっと詳しい情報は、オンラインマニュアルで <p>自動的に生成される通番は、
<i>create_sequence</i> をごらんください。 &lt;<i>table</i>&gt;_&lt;<i>serialcolumn</i>&gt;_<i>seq</i>
と名付けられていて、<i>table</i><i>serialcolumn</i> は、それぞれ
テーブルと <small>SERIAL</small> カラムの名前です。
通番については、オンラインマニュアルで<i>create_sequence</i>
をごらんください。</p>
<h4 id="item4.11.2">4.11.2</a>) <small>SERIAL</small>データ型に挿入される値は、どうすれば得られますか?</h4> <h4 id="item4.11.2">4.11.2</a>) <small>SERIAL</small>データ型に挿入される値は、どうすれば得られますか?</h4>
<p>ひとつの方法は、<i>nextval()</i> 関数を使ってその値を挿入する<i> <p>最も簡単な方法は、割り当てられた<small>SERIAL</small>値を
前(before)に</i> SEQUENCE オブジェクトから次の <small>SERIAL</small> <small>RETURNING</small>として取得することです。
値を取り出し、それから実際に挿入をすることです。<a <a href="#item4.11.1">4.11.1</a>の例題テーブルを使うと次のように
href="#item4.11.1">4.11.1</a> のテーブルの例を使うとすると、疑似言語では なります。
このようになります。</p>
<pre> <pre>
new_id = execute("SELECT nextval('person_id_seq')"); INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id;
execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
</pre>
そうして、<tt>new_id</tt> に保存した新しい値を他のクエリ(たとえば、
<tt>person</tt> テーブルに対する外部キー(foreign key)のように)使うと
よいでしょう。自動的に作られた<small>SEQUENCE</small>オブジェクトの
名前は、&lt;<i>table</i>&gt;_&lt;<i>serialcolumn</i>&gt;_<i>seq</i>
のようになり、このうち、<i>table</i><i>serialcolumn</i> はそれぞ
れテーブルの名前と<small>SERIAL</small>カラムの名前です。
<p>あるいは、与えられた<small>SERIAL</small>値を、それが既定値として
挿入された<i>後で(after)</i><i>currval()</i> 関数を使って取り出す
こともできます。たとえば、 </p>
<pre>
execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
new_id = execute("SELECT currval('person_id_seq')");
</pre> </pre>
@ -1154,7 +1134,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
<p>おそらく、システムの仮想メモリーを全て使い果たしてしまっている可 <p>おそらく、システムの仮想メモリーを全て使い果たしてしまっている可
能性があるか、カーネルがあるリソースについてもつ制限値が低すぎる可能 能性があるか、カーネルがあるリソースについてもつ制限値が低すぎる可能
性があります。<i>postmaster</i> を始動する前にこれを試してみてください:</p> 性があります。サーバを始動する前にこれを試してみてください:</p>
<pre> <pre>
ulimit -d 262144 ulimit -d 262144
@ -1221,17 +1201,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
を使うと簡単です</p> を使うと簡単です</p>
<h4 id="item4.19">4.19</a>) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?</h4> <h4 id="item4.19">4.19</a>) どのようなレプリケーションのソリューションがありますか?</h4>
<p>PL/PgSQL は関数スクリプトをキャッシュし、不幸にもその副作用で、
PL/PgSQL関数が一時テーブルにアクセスする場合、後でそのテーブルを消し
て作りなおされ、関数がもう一度呼び出されると、その関数はキャッシュし
ている関数の内容はまだ古い一時テーブルを差し示したままだからです。
この、解決策として、PL/PgSQLの中で <small>EXECUTE</small> を一時テー
ブルへのアクセスのために使います。そうすると、クエリは毎回パースをや
り直しされるようになります。</p>
<h4 id="item4.20">4.20</a>) どのようなレプリケーションのソリューションがありますか?</h4>
<p>「レプリケーション」と一言でいいますが、レプリケーションをする <p>「レプリケーション」と一言でいいますが、レプリケーションをする
ための技術はいくつかあり、それぞれ、利点と欠点があります。</p> ための技術はいくつかあり、それぞれ、利点と欠点があります。</p>
@ -1253,9 +1223,9 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
<p>この他にも、商用やハードウェア-ベースのレプリケーションソリュー <p>この他にも、商用やハードウェア-ベースのレプリケーションソリュー
ションがいろいろなレプリケーションモデルをサポートしています。</p> ションがいろいろなレプリケーションモデルをサポートしています。</p>
<h3 id="item4.21">4.21</a>)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文字化(キャピタライズ)は温存されないのですか?</h3> <h3 id="item4.20">4.20</a>)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文字化(キャピタライズ)は温存されないのですか?</h3>
<p>認識された名前のもっとも一般的な原因は、テーブルを作成する際に、 <p>名前が認識されない、最も一般的な原因は、テーブルを作成する際に、
テーブルやカラムを囲う二重引用符の使用です。 テーブルやカラムを囲う二重引用符の使用です。
二重引用符を使うと、テーブルとカラムの名前(識別子といいます)は<a 二重引用符を使うと、テーブルとカラムの名前(識別子といいます)は<a
href="http://www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS">大文字と小文字の区別</a> href="http://www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS">大文字と小文字の区別</a>
@ -1307,8 +1277,8 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
[訳注: [訳注:
日本語版の製作については以下の通りです。 日本語版の製作については以下の通りです。
最終更新日: 2007年09月15 最終更新日: 2007年10月10
翻訳者: 桑村 潤 (<a href="mailto:juk at PostgreSQL.jp">Jun Kuwamura &lt;juk at PostgreSQL.jp&gt;</a>) 翻訳者: 桑村 潤 (<a href="mailto:juk at postgresql.jp">Jun KUWAMURA &lt;juk at postgresql.jp&gt;</a>)
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます): このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
@ -1326,7 +1296,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
せせ じゅん(<a href="mailto:sesejun at linet.gr.jp">Jun SESE &lt;sesejun at linet.gr.jp&gt;</a>) せせ じゅん(<a href="mailto:sesejun at linet.gr.jp">Jun SESE &lt;sesejun at linet.gr.jp&gt;</a>)
神谷 英孝(<a href="mailto:hkamiya at catvmics.ne.jp">Hidetaka KAMIYA &lt;hkamiya at catvmics.ne.jp&gt;</a>) 神谷 英孝(<a href="mailto:hkamiya at catvmics.ne.jp">Hidetaka KAMIYA &lt;hkamiya at catvmics.ne.jp&gt;</a>)
菅原 敦(<a href="mailto:asugawar at f3.dion.ne.jp">Atsushi SUGAWARA &lt;asugawar at f3.dion.ne.jp&gt;</a>) 菅原 敦(<a href="mailto:asugawar at f3.dion.ne.jp">Atsushi SUGAWARA &lt;asugawar at f3.dion.ne.jp&gt;</a>)
稲葉 香理(<a href="mailto:i-kaori at sra.co.jp">Kaori Inaba &lt;i-kaori at sra.co.jp&gt;</a>) 稲葉 香理(<a href="mailto:i-kaori at sraoss.co.jp">Kaori Inaba &lt;i-kaori at sraoss.co.jp&gt;</a>)
をはじめ、ポストグレスに関する話題豊富な日本語PostgreSQLメーリングリスト、 をはじめ、ポストグレスに関する話題豊富な日本語PostgreSQLメーリングリスト、
和訳のきっかけを作ってくれたり、いつもチェックをしてくれる 和訳のきっかけを作ってくれたり、いつもチェックをしてくれる
@ -1340,11 +1310,11 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
また、最新版は以下のサイトにあります。 また、最新版は以下のサイトにあります。
<a <a
href="http://www.PostgreSQL.jp/wg/jpugdoc/">http://www.PostgreSQL.jp/wg/jpugdoc/</a> 「JPUG文書・書籍関連分科会」 href="http://www.postgresql.jp/wg/jpugdoc/">http://www.postgresql.jp/wg/jpugdoc/</a> 「JPUG文書・書籍関連分科会」
<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」翻訳者ページ <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」翻訳者ページ
なお、この和訳に関するご意見・ご質問は(<a href="mailto:juk at なお、この和訳に関するご意見・ご質問は(<a href="mailto:juk at
PostgreSQL.jp">juk at PostgreSQL.jp</a>)までお寄せください。 postgresql.jp">juk at postgresql.jp</a>)までお寄せください。
(※ メールアドレスの " at " は適切に直してください。半角の "@" です。) (※ メールアドレスの " at " は適切に直してください。半角の "@" です。)
] ]
</pre></small></p> </pre></small></p>

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.515 2007/10/05 04:03:41 tgl Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.516 2007/10/10 13:43:42 momjian Exp $ -->
<!-- <!--
Typical markup: Typical markup:
@ -48,14 +48,16 @@ do it for earlier branch release files.
<title>Overview</title> <title>Overview</title>
<para> <para>
This release adds many improvements that were requested by users, This release adds major new capabilities to the
<productname>PostgreSQL</> database system, including:
including: including:
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Full text search is now a built-in feature Full text search now fully integrated into the core database
system
</para> </para>
</listitem> </listitem>
@ -68,13 +70,14 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
enum data types Enumerated (enum) data types
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
UUID data type, similar to that defined by RFC 4122 Universally Unique Identifier (UUID) data type, similar to that
defined by RFC 4122
</para> </para>
</listitem> </listitem>
@ -86,32 +89,34 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Control of whether <literal>NULL</>s sort first or last, using
<literal>ORDER BY ... NULLS FIRST/LAST</> <literal>ORDER BY ... NULLS FIRST/LAST</>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Updatable cursors Updatable cursors using <literal>UPDATE/DELETE WHERE CURRENT OF</>
(<literal>UPDATE/DELETE WHERE CURRENT OF</> <replaceable>cursor_name</>
<replaceable>cursor_name</>)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Per-function parameter settings Per-function server configuration parameter settings
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
User-defined types can now have type modifiers (parameters) User-defined types can now have type modifiers
</para> </para>
<para> <para>
Declarations such as <type>varchar(42)</type> are no longer This allows a user type to take an optional modifier when
restricted to use by built-in data types. being created, e.g. <type>SSNUM(7)</>. Previously only
predefined system data types would allow this, e.g.
<type>CHAR(4)</>.
</para> </para>
</listitem> </listitem>
@ -128,10 +133,10 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Numerous improvements in logging and statistics collection Numerous improvements in logging and statistics collection,
capabilities, including the ability to emit postmaster log messages including the ability to emit postmaster log messages in
in CSV format that can be directly loaded into a database table <acronym>CSV</> format, which can be loaded into a database
for analysis table for analysis
</para> </para>
</listitem> </listitem>
@ -147,21 +152,24 @@ do it for earlier branch release files.
</para> </para>
<para> <para>
Autovacuum is now considered mature enough to be enabled by default. This allows multiple vacuums to run concurrently, meaning
vacuuming of a large table will not prevent smaller tables from
being vacuumed at the same time. Autovacuum is now considered
mature and therefore is enabled by default.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
The entire <productname>PostgreSQL</productname> system can The backend database server can now be compiled with
now be compiled with Microsoft Visual C++ <productname>Microsoft Visual C++</>
</para> </para>
<para> <para>
This will improve the ability of Windows-based developers to Windows executables made with Visual C++ might have better
contribute to the project. Windows executables made with Visual C++ stability and performance than those made with other tool sets.
may also have better stability and performance than those made with Development and debugging tools familiar to Windows developers
other tool sets. will also work.
</para> </para>
</listitem> </listitem>
@ -173,32 +181,41 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Asynchronous commit option to allow transactions to be reported Asynchronous commit option allows transactions to be committed
committed before they have actually been flushed to disk but on-disk change to be delayed
</para> </para>
<para> <para>
This would not, of course, be acceptable if the client takes some This feature dramatically increases performance for data
critical external action on the assumption that the transaction modification queries. The disadvantage is that because on-disk
will be remembered; but for certain applications, it is an acceptable changes are delayed, if the operating system crashes before data
risk for some or all transactions to use this mode. Unlike existing is written to the disk, committed data will be lost. This is
options such as <varname>fsync</varname>, asynchronous commit does only useful for applications that can accept some data loss.
not risk database corruption; the worst case is that after a crash, Unlike <varname>fsync</varname>, asynchronous commit does not
the last few reportedly-committed transactions will not have risk database corruption; the worst case is that after an
taken effect. operating system crash, the last few reportedly-committed
transactions will be missing.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<quote>Distributed</> checkpoints to spread out the I/O load of a <quote>Distributed</> checkpoints prevent I/O spikes during
checkpoint checkpoints
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Heap-Only Tuples (HOT) to reduce overhead of updates Heap-Only Tuples (<acronym>HOT</>) reduce overhead of updates
</para>
<para>
To allow high concurrency <productname>PostgreSQL</> retains old
versions of updated rows. Previously only <command>VACUUM</>
could reuse space taken by dead rows. With <acronym>HOT</> dead
row space can be reused at the time of <command>UPDATE</> or
<command>INSERT</>. This allows for more consistent performance.
</para> </para>
</listitem> </listitem>
@ -207,12 +224,21 @@ do it for earlier branch release files.
Just-in-time background writer strategy to improve disk write Just-in-time background writer strategy to improve disk write
efficiency efficiency
</para> </para>
<para>
This basically makes the background writer self-tuning.
</para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduction of on-disk data size through reducing both per-tuple Reduction of both per-field and per-row storage requirements
and per-field overheads </para>
<para>
For example, two <type>CHAR(1)</type> fields now take 4 bytes
instead of 16.
</para> </para>
</listitem> </listitem>