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

View File

@ -9,11 +9,11 @@
<div id="pgContentWrap">
<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
href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br />
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=
"http://www.postgresql.org/docs/faqs.FAQ.html">
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.17">4.17</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.20">4.20</a>) どのようなレプリケーションのソリューションがありますか?<br />
<a href="#item4.21">4.21</a>) テーブルとカラムの名前がクエリーの中で認識
<a href="#item4.19">4.19</a>) どのようなレプリケーションのソリューションがありますか?<br />
<a href="#item4.20">4.20</a>) テーブルとカラムの名前がクエリーの中で認識
されないのはなぜですか? なぜ大文字化(キャピタライズ)は温存されないのですか?<br />
<h2 align="center">日本語に関する質問</h2>
@ -146,7 +145,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
付けられます。読者がやらなければならないことは、メーリングリストを
サブスクライブして、議論に 参加することです。(<a
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>
@ -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</a>
にあり、利用できます。MSDOSベースのWindowsのバージョン(Win95, Win98,
WinMe)では、Cygwinを使って PostgreSQL を走らせることができます。</p>
WinMe)では、Cygwinを使って Postgres を走らせることができます。</p>
<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/">
http://www.postgresql.org/ftp/</a>、それから、ftp経由だと、
<a href="ftp://ftp.PostgreSQL.org/pub/">
ftp://ftp.PostgreSQL.org/pub/</a> を使います。</p>
<a href="ftp://ftp.postgresql.org/pub/">
ftp://ftp.postgresql.org/pub/</a> を使います。</p>
<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会員と正会員の会費は無料ですが、協賛会員の会費と会員の貢献で
会は運営されています。)
詳しくは、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' も存在します。
@ -322,8 +321,8 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
についての手引と指針があります。</p>
<p> それと同時に ftp サイト <A
href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</a>
で、最新バージョンの PostgreSQL を探してみてください。</p>
href="ftp://ftp.postgresql.org/pub/">ftp://ftp.postgresql.org/pub/</a>
で、最新バージョンの Postgres を探してみてください。</p>
<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>
のログメッセージを見てください。リリースノートにさえ、このソフトウェア
@ -369,16 +368,16 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p>
<p> 配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュ
アル・ページ)およびいくつかの小さなテスト例題が含まれます。
<i>/doc</i>ディレクトリをごらんください。また、マニュアルは、<A
href="http://www.PostgreSQL.org/docs/">
http://www.PostgreSQL.org/docs/</a>でオンラインでも閲覧できます。
href="http://www.postgresql.org/docs/">
http://www.postgresql.org/docs/</a>でオンラインでも閲覧できます。
</p>
<p><small><pre>
[訳注:
JPUG 文書・書籍関連分科会で翻訳されたマニュアルもあります。
<a href="http://www.postgresql.jp/document/pg820doc/">
http://www.postgresql.jp/document/pg803doc/</a>
<a href="http://www.postgresql.jp/document/pg825doc/">
http://www.postgresql.jp/document/pg825doc/</a>
インプレスから、
<a href="http://home.impress.co.jp/reference/2108.htm">
PostgreSQLオフィシャルマニュアル</a>として出版されています。
@ -388,12 +387,12 @@ http://www.PostgreSQL.org/docs/</a>
<p>オンラインで参照できる PostgreSQL の本も2冊あります。<a href=
"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">
http://www.postgresql.org/docs/books/awbook.html</a>
<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">
「はじめてのPostgreSQL」</a>として出版されています。
]
@ -411,11 +410,11 @@ http://www.PostgreSQL.org/docs/</a>
</pre></small></p>
購入可能な書籍の目録は、<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=
"http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a>
"http://techdocs.postgresql.org/">http://techdocs.postgresql.org/</a>
にあります。</p>
<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>
<p> 既定での制限である 100 のデータベースセッションに達してしまって
います。<i>postmasterが</i>同時接続できるバックエンドプロセスの制限
数を増やす必要があります。<i>postgresql.conf</i> の中の
<i>max_connections</i> の値を変更して <i>postmaster</i>を再起動する
ことで可能になります。</p>
います。サーバーの同時接続できるバックエンドプロセスの制限値を増やす
必要があります。<i>postgresql.conf</i> の中の<i>max_connections</i>
の値を変更してサーバを再起動することで可能になります。</p>
<h4 id="item3.6">3.6</a>) PostgreSQLのアップグレードの手順はどうなりますか</h4>
@ -868,7 +866,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
<p> 例題として、各行に整数とテキスト記述を持つ 100,000行のファイルを
考えてみましょう。テキストの文字列の平均長さを20バイトと仮定すると、
フラットファイルの大きさは約2.8MB です。このデータを含む PostgreSQL
フラットファイルの大きさは約2.8MB です。このデータを含む Postgres
データベースファイルの大きさは次のように約5.2MBと見積もることができ
ます:
@ -879,7 +877,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
----------------------------------------
52 bytes per row
PostgreSQL のデータページサイズは 8192バイト(8KB)なので:
Postgres のデータページサイズは 8192バイト(8KB)なので:
8192 bytes per page
------------------- = 146 rows per database page (切り捨て)
@ -945,16 +943,12 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
くてはなりません。その理由は、Cロケール以外では次に大きな文字を
知ることができないからです。このような場合、<pre>LIKE</pre>イン
デクシングにだけ働くような、特別な<pre>text_pattern_ops</pre>
ンデックスを作成することもできます。
ンデックスを作成することもできます。また、それを全文検索のフル
テキストのインデックス作成に使うことができます。
</li>
</ul>
<p>
<p>8.0より前のリリースでは、インデックスは、データ型がちょうどインデッ
クスのカラムの型と一致しなければ、使えないことがしばしばありました。
おそらく、int2, int8, および numeric 等のカラムのインデックスがそう
です。</p>
<h4 id="ITEM4.7">4.7</a>) 問い合わせオプティマイザがどのように問い合わせを評価するのかを見るにはどうしますか?</h4>
@ -1079,37 +1073,23 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
]
</small></pre></p>
通番についてのもっと詳しい情報は、オンラインマニュアルで
<i>create_sequence</i> をごらんください。
<p>自動的に生成される通番は、
&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>
<p>ひとつの方法は、<i>nextval()</i> 関数を使ってその値を挿入する<i>
前(before)に</i> SEQUENCE オブジェクトから次の <small>SERIAL</small>
値を取り出し、それから実際に挿入をすることです。<a
href="#item4.11.1">4.11.1</a> のテーブルの例を使うとすると、疑似言語では
このようになります。</p>
<p>最も簡単な方法は、割り当てられた<small>SERIAL</small>値を
<small>RETURNING</small>として取得することです。
<a href="#item4.11.1">4.11.1</a>の例題テーブルを使うと次のように
なります。
<pre>
new_id = execute("SELECT nextval('person_id_seq')");
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')");
INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id;
</pre>
@ -1154,7 +1134,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
<p>おそらく、システムの仮想メモリーを全て使い果たしてしまっている可
能性があるか、カーネルがあるリソースについてもつ制限値が低すぎる可能
性があります。<i>postmaster</i> を始動する前にこれを試してみてください:</p>
性があります。サーバを始動する前にこれを試してみてください:</p>
<pre>
ulimit -d 262144
@ -1221,17 +1201,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
を使うと簡単です</p>
<h4 id="item4.19">4.19</a>) PL/PgSQL の関数の中で一時テーブルにアクセスするとき、どうして "relation with OID ##### does not exist" というエラーを受け取るのでしょうか?</h4>
<p>PL/PgSQL は関数スクリプトをキャッシュし、不幸にもその副作用で、
PL/PgSQL関数が一時テーブルにアクセスする場合、後でそのテーブルを消し
て作りなおされ、関数がもう一度呼び出されると、その関数はキャッシュし
ている関数の内容はまだ古い一時テーブルを差し示したままだからです。
この、解決策として、PL/PgSQLの中で <small>EXECUTE</small> を一時テー
ブルへのアクセスのために使います。そうすると、クエリは毎回パースをや
り直しされるようになります。</p>
<h4 id="item4.20">4.20</a>) どのようなレプリケーションのソリューションがありますか?</h4>
<h4 id="item4.19">4.19</a>) どのようなレプリケーションのソリューションがありますか?</h4>
<p>「レプリケーション」と一言でいいますが、レプリケーションをする
ための技術はいくつかあり、それぞれ、利点と欠点があります。</p>
@ -1253,9 +1223,9 @@ http://www.postgresql.jp/PostgreSQL/references.html</a>
<p>この他にも、商用やハードウェア-ベースのレプリケーションソリュー
ションがいろいろなレプリケーションモデルをサポートしています。</p>
<h3 id="item4.21">4.21</a>)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文字化(キャピタライズ)は温存されないのですか?</h3>
<h3 id="item4.20">4.20</a>)テーブルとカラムの名前がクエリーの中で認識されないのはなぜですか?なぜ大文字化(キャピタライズ)は温存されないのですか?</h3>
<p>認識された名前のもっとも一般的な原因は、テーブルを作成する際に、
<p>名前が認識されない、最も一般的な原因は、テーブルを作成する際に、
テーブルやカラムを囲う二重引用符の使用です。
二重引用符を使うと、テーブルとカラムの名前(識別子といいます)は<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
翻訳者: 桑村 潤 (<a href="mailto:juk at PostgreSQL.jp">Jun Kuwamura &lt;juk at PostgreSQL.jp&gt;</a>)
最終更新日: 2007年10月10
翻訳者: 桑村 潤 (<a href="mailto:juk at postgresql.jp">Jun KUWAMURA &lt;juk at postgresql.jp&gt;</a>)
この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: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: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メーリングリスト、
和訳のきっかけを作ってくれたり、いつもチェックをしてくれる
@ -1340,11 +1310,11 @@ http://www.postgresql.jp/PostgreSQL/references.html</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="mailto:juk at
PostgreSQL.jp">juk at PostgreSQL.jp</a>)までお寄せください。
postgresql.jp">juk at postgresql.jp</a>)までお寄せください。
(※ メールアドレスの " at " は適切に直してください。半角の "@" です。)
]
</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:
@ -48,14 +48,16 @@ do it for earlier branch release files.
<title>Overview</title>
<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:
<itemizedlist>
<listitem>
<para>
Full text search is now a built-in feature
Full text search now fully integrated into the core database
system
</para>
</listitem>
@ -68,13 +70,14 @@ do it for earlier branch release files.
<listitem>
<para>
enum data types
Enumerated (enum) data types
</para>
</listitem>
<listitem>
<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>
</listitem>
@ -86,32 +89,34 @@ do it for earlier branch release files.
<listitem>
<para>
Control of whether <literal>NULL</>s sort first or last, using
<literal>ORDER BY ... NULLS FIRST/LAST</>
</para>
</listitem>
<listitem>
<para>
Updatable cursors
(<literal>UPDATE/DELETE WHERE CURRENT OF</>
<replaceable>cursor_name</>)
Updatable cursors using <literal>UPDATE/DELETE WHERE CURRENT OF</>
<replaceable>cursor_name</>
</para>
</listitem>
<listitem>
<para>
Per-function parameter settings
Per-function server configuration parameter settings
</para>
</listitem>
<listitem>
<para>
User-defined types can now have type modifiers (parameters)
User-defined types can now have type modifiers
</para>
<para>
Declarations such as <type>varchar(42)</type> are no longer
restricted to use by built-in data types.
This allows a user type to take an optional modifier when
being created, e.g. <type>SSNUM(7)</>. Previously only
predefined system data types would allow this, e.g.
<type>CHAR(4)</>.
</para>
</listitem>
@ -128,10 +133,10 @@ do it for earlier branch release files.
<listitem>
<para>
Numerous improvements in logging and statistics collection
capabilities, including the ability to emit postmaster log messages
in CSV format that can be directly loaded into a database table
for analysis
Numerous improvements in logging and statistics collection,
including the ability to emit postmaster log messages in
<acronym>CSV</> format, which can be loaded into a database
table for analysis
</para>
</listitem>
@ -147,21 +152,24 @@ do it for earlier branch release files.
</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>
</listitem>
<listitem>
<para>
The entire <productname>PostgreSQL</productname> system can
now be compiled with Microsoft Visual C++
The backend database server can now be compiled with
<productname>Microsoft Visual C++</>
</para>
<para>
This will improve the ability of Windows-based developers to
contribute to the project. Windows executables made with Visual C++
may also have better stability and performance than those made with
other tool sets.
Windows executables made with Visual C++ might have better
stability and performance than those made with other tool sets.
Development and debugging tools familiar to Windows developers
will also work.
</para>
</listitem>
@ -173,32 +181,41 @@ do it for earlier branch release files.
<listitem>
<para>
Asynchronous commit option to allow transactions to be reported
committed before they have actually been flushed to disk
Asynchronous commit option allows transactions to be committed
but on-disk change to be delayed
</para>
<para>
This would not, of course, be acceptable if the client takes some
critical external action on the assumption that the transaction
will be remembered; but for certain applications, it is an acceptable
risk for some or all transactions to use this mode. Unlike existing
options such as <varname>fsync</varname>, asynchronous commit does
not risk database corruption; the worst case is that after a crash,
the last few reportedly-committed transactions will not have
taken effect.
This feature dramatically increases performance for data
modification queries. The disadvantage is that because on-disk
changes are delayed, if the operating system crashes before data
is written to the disk, committed data will be lost. This is
only useful for applications that can accept some data loss.
Unlike <varname>fsync</varname>, asynchronous commit does not
risk database corruption; the worst case is that after an
operating system crash, the last few reportedly-committed
transactions will be missing.
</para>
</listitem>
<listitem>
<para>
<quote>Distributed</> checkpoints to spread out the I/O load of a
checkpoint
<quote>Distributed</> checkpoints prevent I/O spikes during
checkpoints
</para>
</listitem>
<listitem>
<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>
</listitem>
@ -207,12 +224,21 @@ do it for earlier branch release files.
Just-in-time background writer strategy to improve disk write
efficiency
</para>
<para>
This basically makes the background writer self-tuning.
</para>
</listitem>
<listitem>
<para>
Reduction of on-disk data size through reducing both per-tuple
and per-field overheads
Reduction of both per-field and per-row storage requirements
</para>
<para>
For example, two <type>CHAR(1)</type> fields now take 4 bytes
instead of 16.
</para>
</listitem>