mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-04 04:06:49 +02:00
Update of Japanese FAQ.
Jun Kuwamura
This commit is contained in:
parent
cbd8913245
commit
c2eef62c66
155
doc/FAQ_japanese
155
doc/FAQ_japanese
@ -1,14 +1,19 @@
|
|||||||
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)
|
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)
|
||||||
|
|
||||||
原文最終更新日: Sat Nov 20 17:28:23 EST 2004
|
原文最終更新日: Sun Jan 9 14:44:04 EST 2005
|
||||||
|
|
||||||
現在の維持管理者: Bruce Momjian (pgman@candle.pha.pa.us)
|
現在の維持管理者: Bruce Momjian (pgman@candle.pha.pa.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/files/documentation/faqs/
|
||||||
きます。
|
FAQ.html"> http://www.postgresql.org/files/documentation/faqs/FAQ.html
|
||||||
|
|
||||||
|
で見ることができます。
|
||||||
|
|
||||||
|
プラットホームに特有の質問については: "http://www.postgresql.org/docs/faq/">
|
||||||
|
http://www.postgresql.org/docs/faq/
|
||||||
|
|
||||||
|
|
||||||
プラットホームに特有の質問については: http://www.PostgreSQL.org/docs/index.html
|
|
||||||
に回答があります。
|
に回答があります。
|
||||||
|
|
||||||
(以下、訳者による注釈を [訳注: と ] とで囲んで記します。)
|
(以下、訳者による注釈を [訳注: と ] とで囲んで記します。)
|
||||||
@ -24,7 +29,7 @@ Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp)
|
|||||||
|
|
||||||
この和訳についてお気づきの点は(juk at PostgreSQL.jp)までメールでお寄せ下さい。
|
この和訳についてお気づきの点は(juk at PostgreSQL.jp)までメールでお寄せ下さい。
|
||||||
|
|
||||||
2004年11月24日 桑村 潤
|
2005年01月12日 桑村 潤
|
||||||
]
|
]
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
@ -98,8 +103,7 @@ Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp)
|
|||||||
4.14) 色々な文字型のそれぞれの違いは何ですか?
|
4.14) 色々な文字型のそれぞれの違いは何ですか?
|
||||||
4.15.1) 通番(serial)/自動増分フィールドはどのようにつくりますか?
|
4.15.1) 通番(serial)/自動増分フィールドはどのようにつくりますか?
|
||||||
4.15.2) SERIALデータ型に挿入される値は、どうすれば得られますか?
|
4.15.2) SERIALデータ型に挿入される値は、どうすれば得られますか?
|
||||||
4.15.3) 他のユーザとの競合状態を避けるためには、currval() と nextval() は使わな
|
4.15.3) currval() は他のユーザとの競合状態に陥ることはないですか?
|
||||||
いほうがよいのでしょうか?
|
|
||||||
4.15.4) トランザクションが中断したときにもういちどシーケンス番号が使われないの
|
4.15.4) トランザクションが中断したときにもういちどシーケンス番号が使われないの
|
||||||
はなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?
|
はなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?
|
||||||
4.16) OID とは何ですか? TID とは何ですか?
|
4.16) OID とは何ですか? TID とは何ですか?
|
||||||
@ -134,9 +138,7 @@ Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp)
|
|||||||
|
|
||||||
1.1) PostgreSQL とは何ですか?何と読みますか?
|
1.1) PostgreSQL とは何ですか?何と読みますか?
|
||||||
|
|
||||||
Post-Gres-Q-L(ポスト - グレス - キュー - エル) と発音します。この発音を聞きたい
|
PostgreSQLはPost-Gres-Q-L(ポスト - グレス - キュー - エル) と発音します。
|
||||||
人のために、オーディオファイルを http://www.postgresql.org/postgresql.mp3 に用
|
|
||||||
意してあります。
|
|
||||||
|
|
||||||
PostgreSQL は次世代 DBMS 研究用のプロトタイプであった POSTGRES データベース管理
|
PostgreSQL は次世代 DBMS 研究用のプロトタイプであった POSTGRES データベース管理
|
||||||
システムの改良版です(このため、今でもときどき "Postgres" と呼ばれることがあり
|
システムの改良版です(このため、今でもときどき "Postgres" と呼ばれることがあり
|
||||||
@ -148,8 +150,9 @@ PostgreSQL
|
|||||||
ームですべて行なわれています。現在の座長は Marc G. Fournier (
|
ームですべて行なわれています。現在の座長は Marc G. Fournier (
|
||||||
scrappy@PostgreSQL.org )です。(下記の1.6節に参加の仕方があります。)現在、このチ
|
scrappy@PostgreSQL.org )です。(下記の1.6節に参加の仕方があります。)現在、このチ
|
||||||
ームが PostgreSQL 開発のすべての面倒をみています。このチームはコミュニティプロ
|
ームが PostgreSQL 開発のすべての面倒をみています。このチームはコミュニティプロ
|
||||||
ジェクトであり、いかなる企業によっても制御を受けません。参加したければ、http://
|
ジェクトであり、いかなる企業によっても制御を受けません。参加したければ、 http:/
|
||||||
www.PostgreSQL.org/docs/faqs/FAQ_DEV.html にある開発者向けのFAQを見てください。
|
/www.postgresql.org/files/documentation/faqs/FAQ_DEV.html にある開発者向けのFAQ
|
||||||
|
を見てください。
|
||||||
|
|
||||||
Postgres95-1.01 の中心的な開発者は Andrew Yu と Jolly Chen でしたが、その他大勢
|
Postgres95-1.01 の中心的な開発者は Andrew Yu と Jolly Chen でしたが、その他大勢
|
||||||
の人々がこのコードの移植、テスト、デバグ、および、改良に参加しました。
|
の人々がこのコードの移植、テスト、デバグ、および、改良に参加しました。
|
||||||
@ -193,7 +196,7 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
|||||||
|
|
||||||
POSTGRESQL データベース管理システム
|
POSTGRESQL データベース管理システム
|
||||||
|
|
||||||
部分的著作権 (c) 1996-2005, PostgreSQL国際開発チーム
|
部分的著作権 (c) 1996-2004, PostgreSQL国際開発チーム
|
||||||
部分的著作権 (c) 1994-6 カリフォルニア大学本校
|
部分的著作権 (c) 1994-6 カリフォルニア大学本校
|
||||||
|
|
||||||
|
|
||||||
@ -233,14 +236,17 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
|||||||
バージョン8.0になり、PostgreSQL は、Win2000, WinXP, Win2003などの Microsoft
|
バージョン8.0になり、PostgreSQL は、Win2000, WinXP, Win2003などの Microsoft
|
||||||
Windows NTベースのオペレーティングシステムでネイティブに走るようになりました。
|
Windows NTベースのオペレーティングシステムでネイティブに走るようになりました。
|
||||||
パッケージになったインストーラが、http://pgfoundry.org/projects/pginstallerから
|
パッケージになったインストーラが、http://pgfoundry.org/projects/pginstallerから
|
||||||
入手できます。
|
入手できます。 Windows (Win95, Win98, WinMe)など、MSDOSベースのバージョンでは、
|
||||||
|
Cygwin を使ってPostgreSQLを走らせることができます。
|
||||||
|
|
||||||
[訳注
|
[訳注
|
||||||
pgInstaller の入手はFTPミラーサイトの win32 ディレクトリからも可能です。
|
pgInstaller の入手はFTPミラーサイトの win32 ディレクトリからも可能です。
|
||||||
http://www.postgresql.org/mirrors-ftp.html
|
http://www.postgresql.org/mirrors-ftp.html
|
||||||
]
|
]
|
||||||
|
|
||||||
次のサイトに Novell Netware 6 への移植もあります。 http://forge.novell.com
|
次のサイトに Novell Netware 6 への移植もあります。 http://forge.novell.com また
|
||||||
|
、OS/2 (eComStation) バージョンは、 http://hobbes.nmsu.edu/cgi-bin/h-search?sh=
|
||||||
|
1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2Fにあります。
|
||||||
|
|
||||||
|
|
||||||
1.5) PostgreSQL はどこから入手できますか?
|
1.5) PostgreSQL はどこから入手できますか?
|
||||||
@ -305,9 +311,11 @@ pgsql-general-request@PostgreSQL.org
|
|||||||
|
|
||||||
http://www.PostgreSQL.org
|
http://www.PostgreSQL.org
|
||||||
|
|
||||||
Freenode および EFNetに #PostgreSQL という IRC チャンネルもあります。 UNIX コマ
|
メジャーなIRC チャンネルは、Freenode (irc.freenode.net)の #PostgreSQL というチ
|
||||||
ンドで irc -c '#PostgreSQL' "$USER" irc.phoenix.net. あるいは、 irc -c '#
|
ャンネルです。 UNIX コマンドで、 irc -c '#PostgreSQL' "$USER" irc.freenode.net.
|
||||||
PostgreSQL' "$USER" irc.freenode.net. を使って参加できます。
|
を使って参加できます。同じネットワークに、スペイン語のチャンネル(#
|
||||||
|
postgresql-es)もあり、フランス語のチャンネル(#postgresqlfr)もあります。 EFNetに
|
||||||
|
もPostgreSQLチャンネルがあります。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
1999年7月23日、日本ポストグレスユーザー会、略称JPUGが設立されました。
|
1999年7月23日、日本ポストグレスユーザー会、略称JPUGが設立されました。
|
||||||
@ -325,7 +333,7 @@ PostgreSQL' "$USER" irc.freenode.net.
|
|||||||
|
|
||||||
1.7) 最新版はどれですか
|
1.7) 最新版はどれですか
|
||||||
|
|
||||||
PostgreSQL の最新版はバージョン 7.4.5 です。
|
PostgreSQL の最新版はバージョン 7.4.6 です。
|
||||||
|
|
||||||
我々は、6~8カ月毎にメジャーリリースを行なうことを計画しています。
|
我々は、6~8カ月毎にメジャーリリースを行なうことを計画しています。
|
||||||
|
|
||||||
@ -357,8 +365,9 @@ http://techdocs.PostgreSQL.org/techdocs/bookreviews.php
|
|||||||
[訳注: 和訳文書は、日本ポストグレスユーザー会のhttp://www.postgresql.jp/
|
[訳注: 和訳文書は、日本ポストグレスユーザー会のhttp://www.postgresql.jp/
|
||||||
document/ をごらん下さい。 ]
|
document/ をごらん下さい。 ]
|
||||||
|
|
||||||
psql も、型、演算子、関数、集約、その他の情報をお見せする、いくつかの素晴らしい
|
コマンドラインのクライアントプログラムpsql も、型、演算子、関数、集約、その他の
|
||||||
\d コマンドを持ちます。
|
情報をお見せする、いくつかの素晴らしい \d コマンドを持ちます。 - \? を使うと利
|
||||||
|
用可能なコマンドが表示されます。
|
||||||
|
|
||||||
我々の Web サイトには、もっと沢山の文書があります。
|
我々の Web サイトには、もっと沢山の文書があります。
|
||||||
|
|
||||||
@ -395,7 +404,7 @@ McGraw-Hill
|
|||||||
があります。
|
があります。
|
||||||
近藤直文氏の「初心者向のDB設計入門・SQL入門参考書紹介」のコーナー
|
近藤直文氏の「初心者向のDB設計入門・SQL入門参考書紹介」のコーナー
|
||||||
http://www.shonan.ne.jp/~nkon/ipsql/books_SQL.html
|
http://www.shonan.ne.jp/~nkon/ipsql/books_SQL.html
|
||||||
があります。
|
があります(やや古い2000年版)。
|
||||||
堀田倫英氏の「PostgreSQL日本語マニュアル」
|
堀田倫英氏の「PostgreSQL日本語マニュアル」
|
||||||
http://www.net-newbie.com/
|
http://www.net-newbie.com/
|
||||||
ではオンラインマニュアルの検索ができます。
|
ではオンラインマニュアルの検索ができます。
|
||||||
@ -423,8 +432,8 @@ pgsql-patches
|
|||||||
|
|
||||||
1.13) バグレポートはどのように発信しますか?
|
1.13) バグレポートはどのように発信しますか?
|
||||||
|
|
||||||
http://www.PostgreSQL.org/bugs/bugs.phpPostgreSQL BugTool (バグツール)のページ
|
http://www.postgresql.org/support/submitbug のPostgreSQL バグフォームを訪れて下
|
||||||
を訪れてみて下さい。バグレポートを提出する仕方についての手引と指針があります。
|
さい。バグレポートを提出する仕方についての手引と指針があります。
|
||||||
|
|
||||||
それと同時に ftp サイト ftp://ftp.PostgreSQL.org/pub/で、もっと新しいバージョン
|
それと同時に ftp サイト ftp://ftp.PostgreSQL.org/pub/で、もっと新しいバージョン
|
||||||
の PostgreSQL あるいはパッチをさがしてみて下さい。
|
の PostgreSQL あるいはパッチをさがしてみて下さい。
|
||||||
@ -447,11 +456,7 @@ http://www.PostgreSQL.org/bugs/bugs.phpPostgreSQL BugTool (
|
|||||||
い合わせ、また、 read/write 問い合わせのロードがより高速です。MySQLは少ない
|
い合わせ、また、 read/write 問い合わせのロードがより高速です。MySQLは少ない
|
||||||
ユーザでの単純な SELECT 問い合わせでは高速です。もちろん、MySQLには上記の
|
ユーザでの単純な SELECT 問い合わせでは高速です。もちろん、MySQLには上記の
|
||||||
Featuresの節に示すような機能はほとんどありません。我々は、PostgreSQLに柔軟
|
Featuresの節に示すような機能はほとんどありません。我々は、PostgreSQLに柔軟
|
||||||
性と機能性を組み込みながらも、絶えず性能の改善を続けています。PostgreSQL と
|
性と機能性を組み込みながらも、絶えず性能の改善を続けています。
|
||||||
MySQL とを比較している面白い Web ページがhttp://openacs.org/philosophy/
|
|
||||||
why-not-mysql.htmlにあります。また、MySQLは、製品をオープンソースを通じて配
|
|
||||||
布して、クローズソースソフトウェアとしての商用ライセンスを要求する企業でも
|
|
||||||
あり、PostgreSQLのようなオープンソース開発コミュニティではありません。
|
|
||||||
信頼性(Reliability)
|
信頼性(Reliability)
|
||||||
我々は、DBMSの信頼性が高くなくてはその価値が無いことを理解してます。十分テ
|
我々は、DBMSの信頼性が高くなくてはその価値が無いことを理解してます。十分テ
|
||||||
ストして、安定したコードをバグを最小にしてからリリースするように努めてます
|
ストして、安定したコードをバグを最小にしてからリリースするように努めてます
|
||||||
@ -491,10 +496,10 @@ PostgreSQL
|
|||||||
ための資金ではありません。もし、小切手(check)の方が都合よければ連絡先の住所へお
|
ための資金ではありません。もし、小切手(check)の方が都合よければ連絡先の住所へお
|
||||||
送り下さい。
|
送り下さい。
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
さらに、PostgreSQLを使った成功事例をお持ちであれば、ぜひ、われわれの事例紹介リ
|
||||||
|
スト pgsql-advocacy@postgresql.org へお送りください。
|
||||||
|
|
||||||
さらに、PostgreSQLを使った成功事例をお持ちであれば、ぜひ、われわれの事例紹介サ
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
イト http://advocacy.postgresql.orgへお送りください。
|
|
||||||
|
|
||||||
ユーザー・クライアントの質問
|
ユーザー・クライアントの質問
|
||||||
|
|
||||||
@ -505,11 +510,6 @@ PsqlODBC
|
|||||||
PsqlODBC は次の場所からダウンロードできます。 http://gborg.postgresql.org/
|
PsqlODBC は次の場所からダウンロードできます。 http://gborg.postgresql.org/
|
||||||
project/psqlodbc/projdisplay.php
|
project/psqlodbc/projdisplay.php
|
||||||
|
|
||||||
[訳注:
|
|
||||||
最新版は井上博司さんのサイトにあります。
|
|
||||||
●http://w2422.nsk.ne.jp/~inoue/indexj.html
|
|
||||||
]
|
|
||||||
|
|
||||||
OpenLink ODBC は http://www.openlinksw.com/から入手できます。標準的な ODBC クラ
|
OpenLink ODBC は http://www.openlinksw.com/から入手できます。標準的な ODBC クラ
|
||||||
イアント・ソフトウェアで使えますので、支援しているすべてのプラットホーム(Win,
|
イアント・ソフトウェアで使えますので、支援しているすべてのプラットホーム(Win,
|
||||||
Mac, Unix, VMS)から PostgreSQL の ODBC が利用できます。
|
Mac, Unix, VMS)から PostgreSQL の ODBC が利用できます。
|
||||||
@ -553,10 +553,11 @@ www.php.net/
|
|||||||
|
|
||||||
もちろん、PostgreSQL へのグラフィカルインターフェイスがいくつかあります。その中
|
もちろん、PostgreSQL へのグラフィカルインターフェイスがいくつかあります。その中
|
||||||
にPgAccess http://www.pgaccess.org も含まれます。 PgAdmin III (http://
|
にPgAccess http://www.pgaccess.org も含まれます。 PgAdmin III (http://
|
||||||
www.pgadmin.org)もあります。 RHDB Admin (http://sources.redhat.com/rhdb/ )と
|
www.pgadmin.org)もあります。 RHDB Admin (http://sources.redhat.com/rhdb/ )、
|
||||||
Rekall ( http://www.thekompany.com/products/rekall/, proprietary)もあります。
|
TORA (http://www.globecom.net/tora/ (部分的に商用)) および、 Rekall ( http://
|
||||||
PhpPgAdmin ( http://phppgadmin.sourceforge.net/ ) はPostgreSQLへのWebベースのイ
|
www.thekompany.com/products/rekall/, proprietary)もあります。 PhpPgAdmin (
|
||||||
ンターフェイスを提供します。
|
http://phppgadmin.sourceforge.net/ ) はPostgreSQLへのWebベースのインターフェイ
|
||||||
|
スを提供します。
|
||||||
|
|
||||||
より詳細なリストについては、http://techdocs.postgresql.org/guides/GUITools をご
|
より詳細なリストについては、http://techdocs.postgresql.org/guides/GUITools をご
|
||||||
覧ください。
|
覧ください。
|
||||||
@ -605,8 +606,9 @@ Interfaces
|
|||||||
して使える共有メモリーの大きさを大きく設定する必要があります。具体的な大きさは
|
して使える共有メモリーの大きさを大きく設定する必要があります。具体的な大きさは
|
||||||
、使っているアーキテクチャとpostmaster を走らせるときに設定するバッファの数とバ
|
、使っているアーキテクチャとpostmaster を走らせるときに設定するバッファの数とバ
|
||||||
ックエンドプロセスに依存します。ほとんどのシステムでは、既定値のバッファサイズ
|
ックエンドプロセスに依存します。ほとんどのシステムでは、既定値のバッファサイズ
|
||||||
のままで、少なくとも約1MBが必要です。 PostgreSQL Administrator's Guide に共有メ
|
のままで、少なくとも約1MBが必要です。 PostgreSQL Administrator's Guide/Server
|
||||||
モリーとセマフォについての情報の詳細がありますのでご覧ください。
|
Run-time Environment/Managing Kernel Resources に共有メモリーとセマフォについて
|
||||||
|
の情報の詳細がありますのでご覧ください。
|
||||||
|
|
||||||
3.4) postmasterを走らせようとすると、IpcSemaphoreCreate エラーが出ます。なぜで
|
3.4) postmasterを走らせようとすると、IpcSemaphoreCreate エラーが出ます。なぜで
|
||||||
すか?
|
すか?
|
||||||
@ -647,19 +649,20 @@ PostgreSQL
|
|||||||
ンのオーバーヘッドが減ります。また、大きなデータの変更を行なう際はインデックス
|
ンのオーバーヘッドが減ります。また、大きなデータの変更を行なう際はインデックス
|
||||||
を一度外して、作り直すことを考えてみて下さい。
|
を一度外して、作り直すことを考えてみて下さい。
|
||||||
|
|
||||||
チューニングのオプションがいくつかあります。postmaster を -o -F オプションで起
|
Administration Guide/Server Run-time Environment/Run-time Configurationには、チ
|
||||||
動することによって、fsync() を無効にすることができます。これによって、各トラン
|
ューニングのオプションがいくつかあります。fsyncオプションでfsync() を無効にする
|
||||||
ザクション毎に fsync() でディスクを更新するのを止めさせます。
|
ことができます。これによって、各トランザクション毎に fsync() でディスクを更新す
|
||||||
|
るのを止めさせます。
|
||||||
|
|
||||||
postmaster -B オプションを使ってバックエンド・プロセスにより使われる共有メモリ
|
shared_buffersオプションを使ってバックエンド・プロセスにより使われる共有メモリ
|
||||||
ー・バッファを大きくすることもできます。もし、このパラメータを高くしすぎると、
|
ー・バッファを大きくすることもできます。もし、このパラメータを高くしすぎると、
|
||||||
カーネルの共有メモリー空間の制限値を越えてしまうために postmaster が走らなくな
|
カーネルの共有メモリー空間の制限値を越えてしまうために postmaster が走らなくな
|
||||||
るでしょう。既定値では、それぞれのバッファの大きさは 8K で、バッファ数は 64 で
|
るでしょう。既定値では、それぞれのバッファの大きさは 8K で、バッファ数は 1000
|
||||||
す。
|
です。
|
||||||
|
|
||||||
バックエンドを -S オプションを使って、それぞれのバックエンド・プロセスが一時的
|
sort_mem (PostgreSQL 8.0からは: work_mem)オプションを使って、それぞれのバックエ
|
||||||
な並べ替えによって使うメモリーの最大サイズを増やすこともできます。その -S の値
|
ンド・プロセスが一時的な並べ替えによって使うメモリーの最大サイズを増やすことも
|
||||||
はキロバイト単位で、既定値は 512 (すなわち、512K)です。
|
できます。既定値は 1024 (すなわち、1MB)です。
|
||||||
|
|
||||||
また、CLUSTER コマンドを使って、テーブルのデータをインデックスに合わせるために
|
また、CLUSTER コマンドを使って、テーブルのデータをインデックスに合わせるために
|
||||||
グループ化することもできます。詳しくは、オンラインマニュアルで CLUSTER を見て下
|
グループ化することもできます。詳しくは、オンラインマニュアルで CLUSTER を見て下
|
||||||
@ -695,16 +698,23 @@ Postmaster
|
|||||||
したわけではないので、独立な環境で走っているのではなくロック/バックエンドとの
|
したわけではないので、独立な環境で走っているのではなくロック/バックエンドとの
|
||||||
対話の問題が重複することはありません。
|
対話の問題が重複することはありません。
|
||||||
|
|
||||||
もし、postmasterが走っていれば、あるウィンドウで psqlを開始すると、psql で使わ
|
もし、postmasterが走っていれば、あるウィンドウでpsqlを開始すると、
|
||||||
れる postgres プロセスのPIDが見つかります。デバッガを使って postgresのPIDにアタ
|
|
||||||
ッチ(attach)します。デバッガの中からブレーク・ポイントをセットし、psql から問い
|
|
||||||
合わせを発行します。デバグのためにpostgresを始動する場合は、PGOPTIONS="-W n" を
|
|
||||||
設定でき、それから、psql を開始します。これにより、n 秒開始を遅らせるはずなので
|
|
||||||
、デバッガでプロセスにアタッチして、ブレークポイントを設定し、開始から順を追っ
|
|
||||||
て見てゆくことができます。
|
|
||||||
|
|
||||||
PostgreSQL プログラムには、デバグと性能測定にとても役に立つ -sや -Aや -t 等のオ
|
SELECT pg_backend_pid()
|
||||||
プションがあります。
|
|
||||||
|
を使って、psql で使われる postgres プロセスのPIDが見つかります。デバッガを使っ
|
||||||
|
てpostgresのPIDにアタッチ(attach)します。デバッガの中からブレーク・ポイントをセ
|
||||||
|
ットし、psql から問い合わせを発行します。デバグのためにpostgresを始動する場合は
|
||||||
|
、PGOPTIONS="-W n" を設定でき、それから、psql を開始します。これにより、n 秒開
|
||||||
|
始を遅らせるはずなので、デバッガでプロセスにアタッチして、ブレークポイントを設
|
||||||
|
定し、開始から順を追って見てゆくことができます。
|
||||||
|
|
||||||
|
いくつかの
|
||||||
|
|
||||||
|
log_*
|
||||||
|
|
||||||
|
サーバ構成変数は、デバッグと性能測定にとても役に立つプロセスの統計の印刷を可能
|
||||||
|
にします。
|
||||||
|
|
||||||
何という関数がどのくらい実行時間を食っているかを見るために、プロファイリング(
|
何という関数がどのくらい実行時間を食っているかを見るために、プロファイリング(
|
||||||
プロフィール付き)でコンパイルすることも可能です。そのバックエンドのプロフィー
|
プロフィール付き)でコンパイルすることも可能です。そのバックエンドのプロフィー
|
||||||
@ -950,7 +960,17 @@ LIKE
|
|||||||
・ 検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。
|
・ 検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。
|
||||||
・ ILIKE や ~* のような大文字と小文字を区別しない検索は使えません。そのかわり
|
・ ILIKE や ~* のような大文字と小文字を区別しない検索は使えません。そのかわり
|
||||||
、このFAQの4.12節で説明する関数のインデックスが使えます。
|
、このFAQの4.12節で説明する関数のインデックスが使えます。
|
||||||
・ initdb においては、デフォルトでCロケールが使われなくてはなりません。
|
・ initdb においては、デフォルトでCロケールが使われなくてはなりません。その理
|
||||||
|
由は、Cロケール以外では次に大きな文字を知ることができないからです。このよう
|
||||||
|
な場合、
|
||||||
|
|
||||||
|
LIKE
|
||||||
|
|
||||||
|
インデクシングにだけ働くような、特別な
|
||||||
|
|
||||||
|
text_pattern_ops
|
||||||
|
|
||||||
|
インデックスを作成することもできます。
|
||||||
|
|
||||||
8.0より前のリリースでは、インデックスは、データ型がちょうどインデックスのカラム
|
8.0より前のリリースでは、インデックスは、データ型がちょうどインデックスのカラム
|
||||||
の型と一致しなければ、使えないことがしばしばありました。おそらく、int2, int8,
|
の型と一致しなければ、使えないことがしばしばありました。おそらく、int2, int8,
|
||||||
@ -1107,12 +1127,10 @@ currval()
|
|||||||
|
|
||||||
最後に、INSERT文から返るOIDを使って、既定値をみつけることもできますが、しかし、
|
最後に、INSERT文から返るOIDを使って、既定値をみつけることもできますが、しかし、
|
||||||
oidの値は40億に達するともとに戻ってしまい、最も移植性の低いやり方となるでしょう
|
oidの値は40億に達するともとに戻ってしまい、最も移植性の低いやり方となるでしょう
|
||||||
。PerlのDBIで Edmund Mergl の作った DBD::Pg モジュールを使えば、$sth->execute()
|
。Perl DBI の DBD::Pg モジュールを使えば、$sth->execute() の後に $sth->
|
||||||
の後に $sth->{pg_oid_status} を経由してその OID 値を使えるようにすることはでき
|
{pg_oid_status} を経由してその OID 値を使えるようにすることはできます。
|
||||||
ます。
|
|
||||||
|
|
||||||
4.15.3) 他のユーザとの競合状態を避けるためには、currval() と nextval() は使わな
|
4.15.3) currval() は他のユーザとの競合状態に陥ることはないですか?
|
||||||
いほうがよいのでしょうか?
|
|
||||||
|
|
||||||
それはありません。currval() は、すべてのユーザではありませんが、あなたのバック
|
それはありません。currval() は、すべてのユーザではありませんが、あなたのバック
|
||||||
エンドに与えられた現在の値を返します。
|
エンドに与えられた現在の値を返します。
|
||||||
@ -1353,12 +1371,13 @@ PL/PgSQL
|
|||||||
せん。make clean をしてからもう一度 make を行なわなくてはなりません。もし、GCC
|
せん。make clean をしてからもう一度 make を行なわなくてはなりません。もし、GCC
|
||||||
をお使いであれば configure の --enable-depend オプションを使って、コンパイラに
|
をお使いであれば configure の --enable-depend オプションを使って、コンパイラに
|
||||||
依存関係を自動的に調べさせることもできます。
|
依存関係を自動的に調べさせることもできます。
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
日本語版の製作については以下の通りです。
|
日本語版の製作については以下の通りです。
|
||||||
|
|
||||||
最終更新日: 2004年11月24日
|
最終更新日: 2005年01月12日
|
||||||
翻訳者: 桑村 潤 (Jun Kuwamura <juk at PostgreSQL.jp>)
|
翻訳者: 桑村 潤 (Jun Kuwamura <juk at PostgreSQL.jp>)
|
||||||
|
|
||||||
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
|
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<H1>
|
<H1>
|
||||||
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</H1>
|
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</H1>
|
||||||
<P>
|
<P>
|
||||||
原文最終更新日: Sat Nov 20 17:28:23 EST 2004</P>
|
原文最終更新日: Sun Jan 9 14:44:04 EST 2005</P>
|
||||||
<P>
|
<P>
|
||||||
現在の維持管理者: Bruce Momjian (<A
|
現在の維持管理者: Bruce Momjian (<A
|
||||||
HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
||||||
@ -16,16 +16,14 @@ 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>
|
<P>
|
||||||
この文書の最新版は
|
この文書の最新版は
|
||||||
<A HREF="http://www.PostgreSQL.org/docs/faqs/FAQ.html">
|
"http://www.postgresql.org/files/documentation/faqs/FAQ.html">
|
||||||
http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>
|
http://www.postgresql.org/files/documentation/faqs/FAQ.html</A></P>
|
||||||
で見ることができます。
|
で見ることができます。
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
プラットホームに特有の質問については:
|
プラットホームに特有の質問については:
|
||||||
<A HREF="http://www.PostgreSQL.org/docs/index.html">
|
"http://www.postgresql.org/docs/faq/">
|
||||||
http://www.PostgreSQL.org/docs/index.html</A>
|
http://www.postgresql.org/docs/faq/</A></P>
|
||||||
<BR>に回答があります。
|
<BR>に回答があります。
|
||||||
<P>
|
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
@ -42,7 +40,7 @@ http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>
|
|||||||
|
|
||||||
この和訳についてお気づきの点は(<A HREF="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</A>)までメールでお寄せ下さい。
|
この和訳についてお気づきの点は(<A HREF="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</A>)までメールでお寄せ下さい。
|
||||||
|
|
||||||
2004年11月24日 桑村 潤
|
2005年01月12日 桑村 潤
|
||||||
]
|
]
|
||||||
</PRE></SMALL>
|
</PRE></SMALL>
|
||||||
|
|
||||||
@ -114,7 +112,7 @@ http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>
|
|||||||
<A HREF="#4.14">4.14</A>) 色々な文字型のそれぞれの違いは何ですか?<BR>
|
<A HREF="#4.14">4.14</A>) 色々な文字型のそれぞれの違いは何ですか?<BR>
|
||||||
<A HREF="#4.15.1">4.15.1</A>) 通番(serial)/自動増分フィールドはどのようにつくりますか?<BR>
|
<A HREF="#4.15.1">4.15.1</A>) 通番(serial)/自動増分フィールドはどのようにつくりますか?<BR>
|
||||||
<A HREF="#4.15.2">4.15.2</A>) <SMALL>SERIAL</SMALL>データ型に挿入される値は、どうすれば得られますか?<BR>
|
<A HREF="#4.15.2">4.15.2</A>) <SMALL>SERIAL</SMALL>データ型に挿入される値は、どうすれば得られますか?<BR>
|
||||||
<A HREF="#4.15.3">4.15.3</A>) 他のユーザとの競合状態を避けるためには、<I>currval()</I> と <I>nextval()</I> は使わないほうがよいのでしょうか?<BR>
|
<A HREF="#4.15.3">4.15.3</A>) <I>currval()</I> は他のユーザとの競合状態に陥ることはないですか?<BR>
|
||||||
<A HREF="#4.15.4">4.15.4</A>) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?<BR>
|
<A HREF="#4.15.4">4.15.4</A>) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?<BR>
|
||||||
<A HREF="#4.15">4.16</A>) <SMALL>OID</SMALL> とは何ですか? <SMALL>TID</SMALL> とは何ですか?<BR>
|
<A HREF="#4.15">4.16</A>) <SMALL>OID</SMALL> とは何ですか? <SMALL>TID</SMALL> とは何ですか?<BR>
|
||||||
<A HREF="#4.17">4.17</A>) PostgreSQL で使われるいくつかの用語の意味は何ですか?<BR>
|
<A HREF="#4.17">4.17</A>) PostgreSQL で使われるいくつかの用語の意味は何ですか?<BR>
|
||||||
@ -142,12 +140,13 @@ http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>
|
|||||||
|
|
||||||
<H4><A NAME="1.1">1.1</A>) PostgreSQL とは何ですか? 何と読みますか?</H4>
|
<H4><A NAME="1.1">1.1</A>) PostgreSQL とは何ですか? 何と読みますか?</H4>
|
||||||
|
|
||||||
<P><I>Post-Gres-Q-L</I>(ポスト - グレス - キュー - エル) と発音します。
|
<P>PostgreSQLは<I>Post-Gres-Q-L</I>(ポスト - グレス - キュー - エル) と発音します。</P>
|
||||||
この発音を聞きたい人のために、オーディオファイルを http://www.postgresql.org/postgresql.mp3 に用意してあります。</P>
|
|
||||||
<P>PostgreSQL は次世代 <SMALL>DBMS</SMALL> 研究用のプロトタイプであった POSTGRES データベース管理システムの改良版です(このため、今でもときどき "Postgres" と呼ばれることがあります)。PostgreSQL は POSTGRES の強力なデータ・モデルと豊富なデータ・タイプ(型)を保持しながら、POSTGRES で使われた PostQuel 問い合わせ言語を、拡張した <SMALL>SQL</SMALL> のサブセットに置き換えています。PostgreSQL は無料で完全なソースを利用できます。
|
<P>PostgreSQL は次世代 <SMALL>DBMS</SMALL> 研究用のプロトタイプであった POSTGRES データベース管理システムの改良版です(このため、今でもときどき "Postgres" と呼ばれることがあります)。PostgreSQL は POSTGRES の強力なデータ・モデルと豊富なデータ・タイプ(型)を保持しながら、POSTGRES で使われた PostQuel 問い合わせ言語を、拡張した <SMALL>SQL</SMALL> のサブセットに置き換えています。PostgreSQL は無料で完全なソースを利用できます。
|
||||||
|
|
||||||
<P>PostgreSQL の開発は、PostgreSQL 開発メーリングリストに参加している開発者達のチームですべて行なわれています。現在の座長は Marc G. Fournier (<A HREF="mailto:scrappy@PostgreSQL.org">scrappy@PostgreSQL.org</A> )です。(下記の<a href="#1.6">1.6節</a>に参加の仕方があります。)現在、このチームが PostgreSQL 開発のすべての面倒をみています。このチームはコミュニティプロジェクトであり、いかなる企業によっても制御を受けません。参加したければ、<A href=
|
<P>PostgreSQL の開発は、PostgreSQL 開発メーリングリストに参加している開発者達のチームですべて行なわれています。現在の座長は Marc G. Fournier (<A HREF="mailto:scrappy@PostgreSQL.org">scrappy@PostgreSQL.org</A> )です。(下記の<a href="#1.6">1.6節</a>に参加の仕方があります。)現在、このチームが PostgreSQL 開発のすべての面倒をみています。このチームはコミュニティプロジェクトであり、いかなる企業によっても制御を受けません。参加したければ、<A href=
|
||||||
"http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html">http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html</A> にある開発者向けのFAQを見てください。
|
"http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html">
|
||||||
|
http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html</A>
|
||||||
|
にある開発者向けのFAQを見てください。
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<P>Postgres95-1.01 の中心的な開発者は Andrew Yu と Jolly Chen でしたが、その他大勢の人々がこのコードの移植、テスト、デバグ、および、改良に参加しました。PostgreSQL の派生元コードである Postgres はカリフォルニア大学バークレイ校において、 Michael Stonebraker 教授の指揮のもと、多くの学生、卒業生、本職のプログラマたちの努力により作られました。
|
<P>Postgres95-1.01 の中心的な開発者は Andrew Yu と Jolly Chen でしたが、その他大勢の人々がこのコードの移植、テスト、デバグ、および、改良に参加しました。PostgreSQL の派生元コードである Postgres はカリフォルニア大学バークレイ校において、 Michael Stonebraker 教授の指揮のもと、多くの学生、卒業生、本職のプログラマたちの努力により作られました。
|
||||||
@ -191,7 +190,7 @@ MODIFICATIONS.</P>
|
|||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
POSTGRESQL データベース管理システム
|
POSTGRESQL データベース管理システム
|
||||||
|
|
||||||
部分的著作権 (c) 1996-2005, PostgreSQL国際開発チーム
|
部分的著作権 (c) 1996-2004, PostgreSQL国際開発チーム
|
||||||
部分的著作権 (c) 1994-6 カリフォルニア大学本校
|
部分的著作権 (c) 1994-6 カリフォルニア大学本校
|
||||||
|
|
||||||
|
|
||||||
@ -231,6 +230,7 @@ MODIFICATIONS.</P>
|
|||||||
|
|
||||||
<P>バージョン8.0になり、PostgreSQL は、Win2000, WinXP, Win2003などの Microsoft Windows NTベースのオペレーティングシステムでネイティブに走るようになりました。
|
<P>バージョン8.0になり、PostgreSQL は、Win2000, WinXP, Win2003などの Microsoft Windows NTベースのオペレーティングシステムでネイティブに走るようになりました。
|
||||||
パッケージになったインストーラが、<a href="http://pgfoundry.org/projects/pginstaller">http://pgfoundry.org/projects/pginstaller</a>から入手できます。
|
パッケージになったインストーラが、<a href="http://pgfoundry.org/projects/pginstaller">http://pgfoundry.org/projects/pginstaller</a>から入手できます。
|
||||||
|
Windows (Win95, Win98, WinMe)など、MSDOSベースのバージョンでは、Cygwin を使ってPostgreSQLを走らせることができます。
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<small><pre>
|
<small><pre>
|
||||||
@ -241,7 +241,10 @@ MODIFICATIONS.</P>
|
|||||||
</pre></small>
|
</pre></small>
|
||||||
|
|
||||||
<p>次のサイトに Novell Netware 6 への移植もあります。
|
<p>次のサイトに Novell Netware 6 への移植もあります。
|
||||||
<a href="http://forge.novell.com">http://forge.novell.com</a></p>
|
<a href="http://forge.novell.com">http://forge.novell.com</a>
|
||||||
|
また、OS/2 (eComStation) バージョンは、<a href=
|
||||||
|
"http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F">
|
||||||
|
http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F</a>にあります。</p>
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
|
||||||
@ -316,14 +319,16 @@ HREF="mailto:pgsql-bugs-request@PostgreSQL.org">pgsql-bugs-request@PostgreSQL.or
|
|||||||
<A HREF="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
<A HREF="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
</P>
|
</P>
|
||||||
<P>Freenode および EFNetに <I>#PostgreSQL</I> という IRC チャンネルもあります。
|
<P>メジャーなIRC チャンネルは、Freenode (<I>irc.freenode.net</I>)の
|
||||||
UNIX コマンドで
|
<I>#PostgreSQL</I> というチャンネルです。
|
||||||
<CODE>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</CODE> あるいは、
|
UNIX コマンドで、
|
||||||
<CODE>irc -c '#PostgreSQL' "$USER" irc.freenode.net.</CODE> を使って参加できます。
|
<CODE>irc -c '#PostgreSQL' "$USER" irc.freenode.net.</CODE>
|
||||||
|
を使って参加できます。
|
||||||
|
同じネットワークに、スペイン語のチャンネル(<I>#postgresql-es</I>)もあ
|
||||||
|
り、フランス語のチャンネル(<I>#postgresqlfr</I>)もあります。
|
||||||
|
EFNetにもPostgreSQLチャンネルがあります。
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
@ -344,7 +349,7 @@ UNIX
|
|||||||
|
|
||||||
<H4><A NAME="1.7">1.7</A>) 最新版はどれですか</H4>
|
<H4><A NAME="1.7">1.7</A>) 最新版はどれですか</H4>
|
||||||
<P>
|
<P>
|
||||||
PostgreSQL の最新版はバージョン 7.4.5 です。</P>
|
PostgreSQL の最新版はバージョン 7.4.6 です。</P>
|
||||||
<P>
|
<P>
|
||||||
我々は、6~8カ月毎にメジャーリリースを行なうことを計画しています。</P>
|
我々は、6~8カ月毎にメジャーリリースを行なうことを計画しています。</P>
|
||||||
|
|
||||||
@ -390,7 +395,9 @@ PostgreSQL
|
|||||||
]
|
]
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<P> <I>psql</I> も、型、演算子、関数、集約、その他の情報をお見せする、いくつかの素晴らしい \d コマンドを持ちます。</P>
|
<P> コマンドラインのクライアントプログラム<I>psql</I> も、型、演算子、関数、集約、その他の情報をお見せする、いくつかの素晴らしい \d コマンドを持ちます。
|
||||||
|
- \? を使うと利用可能なコマンドが表示されます。
|
||||||
|
</P>
|
||||||
|
|
||||||
<P> 我々の Web サイトには、もっと沢山の文書があります。</P>
|
<P> 我々の Web サイトには、もっと沢山の文書があります。</P>
|
||||||
|
|
||||||
@ -450,7 +457,7 @@ http://www.PostgreSQL.org/docs/awbook.html</A>
|
|||||||
があります。
|
があります。
|
||||||
近藤直文氏の「初心者向のDB設計入門・SQL入門参考書紹介」のコーナー
|
近藤直文氏の「初心者向のDB設計入門・SQL入門参考書紹介」のコーナー
|
||||||
<A HREF="http://www.shonan.ne.jp/~nkon/ipsql/books_SQL.html">http://www.shonan.ne.jp/~nkon/ipsql/books_SQL.html</A>
|
<A HREF="http://www.shonan.ne.jp/~nkon/ipsql/books_SQL.html">http://www.shonan.ne.jp/~nkon/ipsql/books_SQL.html</A>
|
||||||
があります。
|
があります(やや古い2000年版)。
|
||||||
堀田倫英氏の「PostgreSQL日本語マニュアル」
|
堀田倫英氏の「PostgreSQL日本語マニュアル」
|
||||||
<A HREF="http://www.net-newbie.com/">http://www.net-newbie.com/</A>
|
<A HREF="http://www.net-newbie.com/">http://www.net-newbie.com/</A>
|
||||||
ではオンラインマニュアルの検索ができます。
|
ではオンラインマニュアルの検索ができます。
|
||||||
@ -479,8 +486,10 @@ http://www.PostgreSQL.org/docs/awbook.html</A>
|
|||||||
<H4><A NAME="1.13">1.13</A>) バグレポートはどのように発信しますか?
|
<H4><A NAME="1.13">1.13</A>) バグレポートはどのように発信しますか?
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P><A
|
<P><A href=
|
||||||
href="http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</A>PostgreSQL BugTool (バグツール)のページを訪れてみて下さい。 バグレポートを提出する仕方についての手引と指針があります。</P>
|
"http://www.postgresql.org/support/submitbug">
|
||||||
|
http://www.postgresql.org/support/submitbug</A>
|
||||||
|
のPostgreSQL バグフォームを訪れて下さい。 バグレポートを提出する仕方についての手引と指針があります。</P>
|
||||||
|
|
||||||
<P> それと同時に ftp サイト <A HREF="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</A>で、もっと新しいバージョンの PostgreSQL あるいはパッチをさがしてみて下さい。</P>
|
<P> それと同時に ftp サイト <A HREF="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</A>で、もっと新しいバージョンの PostgreSQL あるいはパッチをさがしてみて下さい。</P>
|
||||||
|
|
||||||
@ -498,7 +507,7 @@ href="http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bu
|
|||||||
|
|
||||||
<DT> <B>性能(Performance)</B></DT>
|
<DT> <B>性能(Performance)</B></DT>
|
||||||
<DD>
|
<DD>
|
||||||
PostgreSQLは他の商用あるいはオープンソースのデータベースと互角の性能も持ちます。ある面ではより早かったり、ほかの面ではより遅かったりします。MySQLなどの特化型データベース・システムにくらべて、PostgreSQL は複数ユーザや複雑な問い合わせ、また、 read/write 問い合わせのロードがより高速です。MySQLは少ないユーザでの単純な SELECT 問い合わせでは高速です。もちろん、MySQLには上記の<I>Features</I>の節に示すような機能はほとんどありません。我々は、PostgreSQLに柔軟性と機能性を組み込みながらも、絶えず性能の改善を続けています。PostgreSQL と MySQL とを比較している面白い Web ページが<A href="http://openacs.org/philosophy/why-not-mysql.html">http://openacs.org/philosophy/why-not-mysql.html</A>にあります。また、MySQLは、製品をオープンソースを通じて配布して、クローズソースソフトウェアとしての商用ライセンスを要求する企業でもあり、PostgreSQLのようなオープンソース開発コミュニティではありません。
|
PostgreSQLは他の商用あるいはオープンソースのデータベースと互角の性能も持ちます。ある面ではより早かったり、ほかの面ではより遅かったりします。MySQLなどの特化型データベース・システムにくらべて、PostgreSQL は複数ユーザや複雑な問い合わせ、また、 read/write 問い合わせのロードがより高速です。MySQLは少ないユーザでの単純な SELECT 問い合わせでは高速です。もちろん、MySQLには上記の<I>Features</I>の節に示すような機能はほとんどありません。我々は、PostgreSQLに柔軟性と機能性を組み込みながらも、絶えず性能の改善を続けています。
|
||||||
</DD>
|
</DD>
|
||||||
|
|
||||||
<DT> <B>信頼性(Reliability)</B></DT>
|
<DT> <B>信頼性(Reliability)</B></DT>
|
||||||
@ -530,11 +539,15 @@ href="http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bu
|
|||||||
|
|
||||||
<P>また、Webページには PostgreSQL,Inc とありますが、そこの "貢献(contributions)"という項目は、 PostgreSQL プロジェクトを支援するだけのためで、決して特定の会社のための資金ではありません。もし、小切手(check)の方が都合よければ連絡先の住所へお送り下さい。</P>
|
<P>また、Webページには PostgreSQL,Inc とありますが、そこの "貢献(contributions)"という項目は、 PostgreSQL プロジェクトを支援するだけのためで、決して特定の会社のための資金ではありません。もし、小切手(check)の方が都合よければ連絡先の住所へお送り下さい。</P>
|
||||||
|
|
||||||
<HR>
|
<P>さらに、PostgreSQLを使った成功事例をお持ちであれば、ぜひ、われわれの
|
||||||
|
事例紹介リスト<a href=
|
||||||
<P>さらに、PostgreSQLを使った成功事例をお持ちであれば、ぜひ、われわれの事例紹介サイト <a href="http://advocacy.postgresql.org">http://advocacy.postgresql.org</a>へお送りください。
|
"mailto:pgsql-advocacy@postgresql.org">
|
||||||
|
pgsql-advocacy@postgresql.org</a>
|
||||||
|
へお送りください。
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
<HR>
|
||||||
<H2 align="center">ユーザー・クライアントの質問</H2>
|
<H2 align="center">ユーザー・クライアントの質問</H2>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
@ -549,13 +562,6 @@ href="http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bu
|
|||||||
http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</A>
|
http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</A>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<SMALL><PRE>
|
|
||||||
[訳注:
|
|
||||||
最新版は井上博司さんのサイトにあります。
|
|
||||||
●<A HREF="http://w2422.nsk.ne.jp/~inoue/indexj.html">http://w2422.nsk.ne.jp/~inoue/indexj.html</A>
|
|
||||||
]
|
|
||||||
</PRE></SMALL>
|
|
||||||
|
|
||||||
<P> OpenLink <SMALL>ODBC</SMALL> は <A HREF="http://www.openlinksw.com/">http://www.openlinksw.com/</A>から入手できます。標準的な <SMALL>ODBC</SMALL> クライアント・ソフトウェアで使えますので、支援しているすべてのプラットホーム(Win, Mac, Unix, VMS)から PostgreSQL の <SMALL>ODBC</SMALL> が利用できます。
|
<P> OpenLink <SMALL>ODBC</SMALL> は <A HREF="http://www.openlinksw.com/">http://www.openlinksw.com/</A>から入手できます。標準的な <SMALL>ODBC</SMALL> クライアント・ソフトウェアで使えますので、支援しているすべてのプラットホーム(Win, Mac, Unix, VMS)から PostgreSQL の <SMALL>ODBC</SMALL> が利用できます。
|
||||||
|
|
||||||
<P> たぶん彼らは、商用品質のサポートの必要な人々に売っていると思いますが、
|
<P> たぶん彼らは、商用品質のサポートの必要な人々に売っていると思いますが、
|
||||||
@ -611,7 +617,10 @@ PgAdmin III (<a
|
|||||||
href="http://www.pgadmin.org">http://www.pgadmin.org</a>)もあります。
|
href="http://www.pgadmin.org">http://www.pgadmin.org</a>)もあります。
|
||||||
RHDB Admin (<a
|
RHDB Admin (<a
|
||||||
href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/
|
href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/
|
||||||
</a>)と Rekall (<a href="http://www.thekompany.com/products/rekall/">
|
</a>)、TORA (<a
|
||||||
|
href="http://www.globecom.net/tora/">http://www.globecom.net/tora/
|
||||||
|
(部分的に商用)</a>)
|
||||||
|
および、 Rekall (<a href="http://www.thekompany.com/products/rekall/">
|
||||||
http://www.thekompany.com/products/rekall/</a>, proprietary)もありま
|
http://www.thekompany.com/products/rekall/</a>, proprietary)もありま
|
||||||
す。
|
す。
|
||||||
PhpPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
|
PhpPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
|
||||||
@ -671,9 +680,10 @@ PhpPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
|
|||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P> カーネルが共有メモリーを持つ設定になっていなかったか、でなければ、カーネルに対して使える共有メモリーの大きさを大きく設定する必要があります。具体的な大きさは、使っているアーキテクチャと<I>postmaster</I> を走らせるときに設定するバッファの数とバックエンドプロセスに依存します。ほとんどのシステムでは、既定値のバッファサイズのままで、少なくとも約1MBが必要です。
|
<P> カーネルが共有メモリーを持つ設定になっていなかったか、でなければ、カーネルに対して使える共有メモリーの大きさを大きく設定する必要があります。具体的な大きさは、使っているアーキテクチャと<I>postmaster</I> を走らせるときに設定するバッファの数とバックエンドプロセスに依存します。ほとんどのシステムでは、既定値のバッファサイズのままで、少なくとも約1MBが必要です。
|
||||||
<A ref=
|
<A
|
||||||
"http://www.PostgreSQL.org/docs/view.php?version=current&idoc=1&file=kernel-resources.html">PostgreSQL Administrator's Guide
|
href="http://www.postgresql.org/docs/current/static/kernel-resources.html">PostgreSQL
|
||||||
</A>に共有メモリーとセマフォについての情報の詳細がありますのでご覧ください。</P>
|
Administrator's Guide/Server Run-time Environment/Managing Kernel Resources</A>
|
||||||
|
に共有メモリーとセマフォについての情報の詳細がありますのでご覧ください。</P>
|
||||||
|
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
@ -704,11 +714,15 @@ PostgreSQL Administrator's Guide
|
|||||||
<P> 確かにインデックスは問い合わせの速度を増します。<SMALL>EXPLAIN ANALYZE</SMALL>コマンドで PostgreSQL がどのようにあなたの問い合わせを翻訳しているかを見ることができ、そして、どのインデックスが使われているかを見ることができます。
|
<P> 確かにインデックスは問い合わせの速度を増します。<SMALL>EXPLAIN ANALYZE</SMALL>コマンドで PostgreSQL がどのようにあなたの問い合わせを翻訳しているかを見ることができ、そして、どのインデックスが使われているかを見ることができます。
|
||||||
<P>もし <SMALL>INSERT</SMALL> を多用している場合は、<SMALL>COPY</SMALL> コマンドを使って大きなバッチ処理でそれを行なうことを検討して下さい。これは、<SMALL>INSERT</SMALL> を別々に行なうよりもっと高速です。次に、<SMALL>BEGIN WORK/COMMIT</SMALL> のトランザクション・ブロックの中に無い文は、それら自身がそれぞれのトランザクションに入っていると見なされます。いくつかの文を一つのトランザクション・ブロックの中で行なうことを考えて下さい。これによりトランザクションのオーバーヘッドが減ります。また、大きなデータの変更を行なう際はインデックスを一度外して、作り直すことを考えてみて下さい。
|
<P>もし <SMALL>INSERT</SMALL> を多用している場合は、<SMALL>COPY</SMALL> コマンドを使って大きなバッチ処理でそれを行なうことを検討して下さい。これは、<SMALL>INSERT</SMALL> を別々に行なうよりもっと高速です。次に、<SMALL>BEGIN WORK/COMMIT</SMALL> のトランザクション・ブロックの中に無い文は、それら自身がそれぞれのトランザクションに入っていると見なされます。いくつかの文を一つのトランザクション・ブロックの中で行なうことを考えて下さい。これによりトランザクションのオーバーヘッドが減ります。また、大きなデータの変更を行なう際はインデックスを一度外して、作り直すことを考えてみて下さい。
|
||||||
|
|
||||||
<P> チューニングのオプションがいくつかあります。<I>postmaster</I> を <I>-o -F</I> オプションで起動することによって、<I>fsync()</I> を無効にすることができます。これによって、各トランザクション毎に <I>fsync()</I> でディスクを更新するのを止めさせます。
|
<P> <a href=
|
||||||
|
"http://www.postgresql.org/docs/current/static/runtime.html">
|
||||||
|
Administration Guide/Server Run-time Environment/Run-time
|
||||||
|
Configuration</a>には、
|
||||||
|
チューニングのオプションがいくつかあります。<i>fsync</I>オプションで<I>fsync()</I> を無効にすることができます。これによって、各トランザクション毎に <I>fsync()</I> でディスクを更新するのを止めさせます。
|
||||||
|
|
||||||
<P> <I>postmaster</I> <I>-B</I> オプションを使ってバックエンド・プロセスにより使われる共有メモリー・バッファを大きくすることもできます。もし、このパラメータを高くしすぎると、カーネルの共有メモリー空間の制限値を越えてしまうために <I>postmaster</I> が走らなくなるでしょう。既定値では、それぞれのバッファの大きさは 8K で、バッファ数は 64 です。
|
<P> <I>shared_buffers</I>オプションを使ってバックエンド・プロセスにより使われる共有メモリー・バッファを大きくすることもできます。もし、このパラメータを高くしすぎると、カーネルの共有メモリー空間の制限値を越えてしまうために <I>postmaster</I> が走らなくなるでしょう。既定値では、それぞれのバッファの大きさは 8K で、バッファ数は 1000 です。
|
||||||
|
|
||||||
<P> バックエンドを <I>-S</I> オプションを使って、それぞれのバックエンド・プロセスが一時的な並べ替えによって使うメモリーの最大サイズを増やすこともできます。 その <I>-S</I> の値はキロバイト単位で、既定値は 512 (すなわち、512K)です。
|
<P> <I>sort_mem</I> (PostgreSQL 8.0からは: <I>work_mem</I>)オプションを使って、それぞれのバックエンド・プロセスが一時的な並べ替えによって使うメモリーの最大サイズを増やすこともできます。 既定値は 1024 (すなわち、1MB)です。
|
||||||
|
|
||||||
<P> また、<SMALL>CLUSTER</SMALL> コマンドを使って、テーブルのデータをインデックスに合わせるためにグループ化することもできます。詳しくは、オンラインマニュアルで <I>CLUSTER</I> を見て下さい。
|
<P> また、<SMALL>CLUSTER</SMALL> コマンドを使って、テーブルのデータをインデックスに合わせるためにグループ化することもできます。詳しくは、オンラインマニュアルで <I>CLUSTER</I> を見て下さい。
|
||||||
|
|
||||||
@ -730,17 +744,9 @@ PostgreSQL Administrator's Guide
|
|||||||
|
|
||||||
<P>もし、<i>postmaster</i>が走っていなければ、<I>postgres</I>バックエンドをコマンドラインから走らせることができ、直接<SMALL>SQL</SMALL>文をタイプすることができます。このやりかたは、デバグ目的のとき<B>だけ</B>お奨めします。セミコロンではなく、改行が問い合わせの終りになることに注意してください。もし、デバグシンボルを入れてコンパイルしていれば、デバッガを使って何が起きているかを見ることができます。postmaster からバックエンドを開始したわけではないので、独立な環境で走っているのではなくロック/バックエンドとの対話の問題が重複することはありません。
|
<P>もし、<i>postmaster</i>が走っていなければ、<I>postgres</I>バックエンドをコマンドラインから走らせることができ、直接<SMALL>SQL</SMALL>文をタイプすることができます。このやりかたは、デバグ目的のとき<B>だけ</B>お奨めします。セミコロンではなく、改行が問い合わせの終りになることに注意してください。もし、デバグシンボルを入れてコンパイルしていれば、デバッガを使って何が起きているかを見ることができます。postmaster からバックエンドを開始したわけではないので、独立な環境で走っているのではなくロック/バックエンドとの対話の問題が重複することはありません。
|
||||||
|
|
||||||
<P> もし、<i>postmaster</i>が走っていれば、あるウィンドウで
|
<P> もし、<i>postmaster</i>が走っていれば、あるウィンドウで<I>psql</I>を開始すると、<pre>SELECT pg_backend_pid()</pre>を使って、<i>psql</i> で使われる <i>postgres</i> プロセスの<SMALL>PID</SMALL>が見つかります。
|
||||||
<I>psql</I>を開始すると、<i>psql</i> で使われる <i>postgres</i> プロセス
|
デバッガを使って<i>postgres</i>の<SMALL>PID</SMALL>にアタッチ(attach)します。デバッガの中からブレーク・ポイントをセットし、<i>psql</i> から問い合わせを発行します。デバグのために<i>postgres</i>を始動する場合は、PGOPTIONS="-W n" を設定でき、それから、<i>psql</i> を開始します。これにより、<i>n</i> 秒開始を遅らせるはずなので、デバッガでプロセスにアタッチして、ブレークポイントを設定し、開始から順を追って見てゆくことができます。
|
||||||
の<SMALL>PID</SMALL>が見つかります。デバッガを使って
|
<P> いくつかの<pre>log_*</pre>サーバ構成変数は、デバッグと性能測定にとても役に立つプロセスの統計の印刷を可能にします。
|
||||||
<i>postgres</i>の<SMALL>PID</SMALL>にアタッチ(attach)します。デバッ
|
|
||||||
ガの中からブレーク・ポイントをセットし、<i>psql</i> から問い合わせを発行
|
|
||||||
します。デバグのために<i>postgres</i>を始動する場合は、PGOPTIONS="-W n"
|
|
||||||
を設定でき、それから、<i>psql</i> を開始します。これにより、<i>n</i> 秒
|
|
||||||
開始を遅らせるはずなので、デバッガでプロセスにアタッチして、ブレークポイ
|
|
||||||
ントを設定し、開始から順を追って見てゆくことができます。
|
|
||||||
|
|
||||||
<P> PostgreSQL プログラムには、デバグと性能測定にとても役に立つ <I>-s</I>や <I>-A</I>や <I>-t</I> 等のオプションがあります。
|
|
||||||
|
|
||||||
<P> 何という関数がどのくらい実行時間を食っているかを見るために、プロファイリング(プロフィール付き)でコンパイルすることも可能です。そのバックエンドのプロフィール・ファイルは <I>pgsql/data/base/dbname</I> ディレクトリに格納されるでしょう。クライアントのプロフィールはクライアントの現行ディレクトリに置かれるでしょう。Linux でまともなプロファイリングを行うには <I>-DLINUX_PROFILE</I> でコンパイルする必要があります。
|
<P> 何という関数がどのくらい実行時間を食っているかを見るために、プロファイリング(プロフィール付き)でコンパイルすることも可能です。そのバックエンドのプロフィール・ファイルは <I>pgsql/data/base/dbname</I> ディレクトリに格納されるでしょう。クライアントのプロフィールはクライアントの現行ディレクトリに置かれるでしょう。Linux でまともなプロファイリングを行うには <I>-DLINUX_PROFILE</I> でコンパイルする必要があります。
|
||||||
|
|
||||||
@ -972,7 +978,12 @@ ORDER BY
|
|||||||
<LI>検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。</LI>
|
<LI>検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。</LI>
|
||||||
<LI><SMALL>ILIKE</SMALL> や <I>~*</I> のような大文字と小文字を区別し
|
<LI><SMALL>ILIKE</SMALL> や <I>~*</I> のような大文字と小文字を区別し
|
||||||
ない検索は使えません。そのかわり、このFAQの<a href="#4.12">4.12</a>節で説明する関数のインデックスが使えます。</LI>
|
ない検索は使えません。そのかわり、このFAQの<a href="#4.12">4.12</a>節で説明する関数のインデックスが使えます。</LI>
|
||||||
<LI>initdb においては、デフォルトで<I>C</I>ロケールが使われなくてはなりません。</i></LI>
|
<LI><i>initdb</i> においては、デフォルトで<I>C</I>ロケールが使われな
|
||||||
|
くてはなりません。その理由は、Cロケール以外では次に大きな文字を知ること
|
||||||
|
ができないからです。このような場合、<PRE>LIKE</PRE>インデクシングにだけ
|
||||||
|
働くような、特別な<PRE>text_pattern_ops</PRE>インデックスを作成
|
||||||
|
することもできます。
|
||||||
|
</LI>
|
||||||
</UL>
|
</UL>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
@ -1130,10 +1141,10 @@ BYTEA bytea
|
|||||||
new_id = execute("SELECT currval('person_id_seq')");
|
new_id = execute("SELECT currval('person_id_seq')");
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
最後に、<SMALL>INSERT</SMALL>文から返る<A HREF="#4.17"><SMALL>OID</SMALL></A>を使って、既定値をみつけることもできますが、しかし、oidの値は40億に達するともとに戻ってしまい、最も移植性の低いやり方となるでしょう。PerlのDBIで Edmund Mergl の作った DBD::Pg モジュールを使えば、$sth->execute() の後に $sth->{pg_oid_status} を経由してその OID 値を使えるようにすることはできます。
|
最後に、<SMALL>INSERT</SMALL>文から返る<A HREF="#4.17"><SMALL>OID</SMALL></A>を使って、既定値をみつけることもできますが、しかし、oidの値は40億に達するともとに戻ってしまい、最も移植性の低いやり方となるでしょう。Perl DBI の DBD::Pg モジュールを使えば、$sth->execute() の後に $sth->{pg_oid_status} を経由してその OID 値を使えるようにすることはできます。
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="4.15.3">4.15.3</A>) 他のユーザとの競合状態を避けるためには、<I>currval()</I> と <I>nextval()</I> は使わないほうがよいのでしょうか?
|
<H4><A NAME="4.15.3">4.15.3</A>) <I>currval()</I> は他のユーザとの競合状態に陥ることはないですか?
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P>それはありません。<I>currval()</I> は、すべてのユーザではありませんが、あなたのバックエンドに与えられた現在の値を返します。
|
<P>それはありません。<I>currval()</I> は、すべてのユーザではありませんが、あなたのバックエンドに与えられた現在の値を返します。
|
||||||
@ -1376,14 +1387,13 @@ PL/PgSQL
|
|||||||
|
|
||||||
<P> いくつかの <I>Makefile</I> がインクルード・ファイルに対して適切な依存関係を持っていません。<I>make clean</I> をしてからもう一度 <I>make</I> を行なわなくてはなりません。もし、<SMALL>GCC</SMALL> をお使いであれば <i>configure</i> の <i>--enable-depend</i> オプションを使って、コンパイラに依存関係を自動的に調べさせることもできます。
|
<P> いくつかの <I>Makefile</I> がインクルード・ファイルに対して適切な依存関係を持っていません。<I>make clean</I> をしてからもう一度 <I>make</I> を行なわなくてはなりません。もし、<SMALL>GCC</SMALL> をお使いであれば <i>configure</i> の <i>--enable-depend</i> オプションを使って、コンパイラに依存関係を自動的に調べさせることもできます。
|
||||||
|
|
||||||
|
<P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
日本語版の製作については以下の通りです。
|
日本語版の製作については以下の通りです。
|
||||||
|
|
||||||
最終更新日: 2004年11月24日
|
最終更新日: 2005年01月12日
|
||||||
翻訳者: 桑村 潤 (<A HREF="mailto:juk at PostgreSQL.jp">Jun Kuwamura <juk at PostgreSQL.jp></A>)
|
翻訳者: 桑村 潤 (<A HREF="mailto:juk at PostgreSQL.jp">Jun Kuwamura <juk at PostgreSQL.jp></A>)
|
||||||
|
|
||||||
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
|
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
|
||||||
@ -1417,6 +1427,6 @@ PL/PgSQL
|
|||||||
なお、この和訳に関するご意見は(<A HREF="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</A>)までお寄せ下さい。
|
なお、この和訳に関するご意見は(<A HREF="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</A>)までお寄せ下さい。
|
||||||
]
|
]
|
||||||
</PRE></SMALL>
|
</PRE></SMALL>
|
||||||
|
</P>
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
|
Loading…
Reference in New Issue
Block a user