5. バグレポートガイドライン

PostgreSQLにおいて、バグを発見された場合、 是非、ご連絡下さい。 すべてのプラットフォーム、すべての環境で PostgreSQLの機能すべてが正常に動くことを保証できないので、バグレポートは PostgreSQLをより信頼性の高いものにするために、 大変有効的となります。

下記の記述は、バグレポートが有効的に活用されるためのものです。 これに従う義務はありませんが、沿った方がより有益なものとなるでしょう。

発見されたバグは直ちに修正されるとは限りません。そのバグが明確で、重大である他の 多くのユーザにも影響を与えるものであれば、すぐに修正されるかもしれません。 また、より新しいバージョンに変えて、そこでも同じようなことが起こるかを 確認して頂くようにお勧めする場合もあります。あるいは、現在計画中の 大きな変更が終了するまでバグが修正しないと判断される場合もあります。 また、そのバグ修正はとても難易度が高いもので、後まわしになることも考えられます。 早急に処置が必要な場合は、商用サポートのご購入をご検討下さい。

5.1. バグの特定

バグ報告を行う前に、ドキュメントを再度読み返し、実行しようとしている 処理が実行可能かを確認して下さい。実行可能かどうかが不明な場合は、 その旨を報告して下さい(それはある意味ドキュメントのバグです)。 また、ドキュメントに書かれていることと実際の結果が異る場合は それはバグとなります。それらの一部の例を下記に記します。

ここでは、"プログラム"とはバックエンドサーバだけではなく、 実行可能なものを意味します。

プログラムの実行が遅かったり、リソースを大量に使用するのは必ずしもバグではありません。 アプリケーションを改善するためには、ドキュメントを読んだり、メーリングリストで 尋ねてみたりして下さい。SQLの要求に応じない場合、 問題点が明確に特定できない限り、それはバグとは言えません。

また、TODO listや、FAQなどをご覧になって、そのバグが既に認知されているかの 確認を行って下さい。もしTODO listに書かれていなければ、報告を行って下さい。

5.2. 報告すべき事柄

バグ報告でもっとも重要なことは、すべての事実を明確に記述し、また、記述されたものは 事実のみである、ということです。何が起こったのか、または、プログラムのどこが問題か、 "何々が起こっているようだ"などの憶測や推測を記述しないで下さい。 実装にさほど詳しくない方の推測は正しくない場合があり、有効なバグ報告を なりません。実装に精通している方も、根拠のある説明は参考情報となりますが、 事実にはなりかねます。バグを修正するためには、まず開発者自身が そのバグを再現できないと始められません。ありのままの事実を報告するのは 単刀直入ですが(多くの場合スクリーンからメッセージをコピー&ペーストを行うのみ)、 多くの場合、それだけでは情報が不十分で、重要な情報が洩れてしまっています。

すべてのバグ報告では、下記の内容が記述されていなければなりません。

バグ報告が長文になってもそれはしょうがないことなので、気にしないで下さい。 一度にすべての情報を頂ける方が、開発者から情報を催促するよりも 手間暇がかかりません。その一方、ファイルが大きいならば、 その情報に誰か興味があるかを尋ねるのが得策かもしれません。

問題が解決するために時間をかけて入力値を色々と変えてみてるのは 問題を解決するには得策とは言えません。バグが即座に修正されない場合、 その間を利用して色々と試してみて下さい。バグがなぜあるのかを 解明するのに余計な時間を取る必要はありません。

バグ報告をする際、理解しやすい用語を使用して下さい。 このソフトウェアパッケージは"PostgreSQL"と呼ばれていますが、 略して"Postgres"とも呼ばれます。("Pgsql"とも略される場合がありますが、 使用しないで下さい。)特にバックエンドサーバに関して述べるときは、 そのように明記し、"Postgresがクラッシュする"とだけ明記しないで下さい。 インターアクティブなフロントエンドは"psql"と呼ばれ、 バックエンドから切り離す目的で使用します。

5.3. バグ報告する場所

一般的には、の バグ報告用メーリングリストにバグ報告をお送り下さい。 バグ報告の題名には、エラーメッセージの一部分などを 使用して下さい。

には決してバグ報告を送らないで下さい。これらのメーリングリストは バグ報告を必要としないユーザ間の場となっています。 また、多くの場合、そのメーリングリストに参加している人は バグを修正する可能性は低いでしょう。

また、にもバグ報告を 送らないで下さい。ここはPostgreSQL の開発に関して議論する場で、バグ報告とは切り離している方がよいとされています。 後で、そのバグ報告がこのメーリングリストで議論される場合は十分ありえます。

ドキュメントに関して問題がある場合は、ドキュメント用の メーリングリスト、に 報告して下さい。その際、ドキュメント、章、節を明記して下さい。

また、サポートされていないプラットフォームへの移植に関係する バグ報告である場合はに 報告して下さい。そのプラットフォームへPostgreSQLを 移植するように最善の努力を致します。

Note: spamメールをふさぐために、残念なことに、これらのメーリングリストは closedとなっています。つまり、これらのメーリングリストに投稿するには、 講読しなければなりません。単にメールを送りたい場合は、購読し、 講読オプションをnomailに設定して下さい。より 詳細については宛に 本文にはhelpとだけ書いてメールをお送り下さい。