臭虫汇报指导

当你在PostgreSQL里碰到臭虫时,我们也希望能知道它。 你的臭虫汇报是将PostgreSQL做得更加可靠的一个非常重要的部分, 因为再细致的工作也不能保证在任何情况、任何平台下PostgreSQL的每一个部分都能正常工作。

下面的建议试图帮助你正确格式化臭虫报告,这样这些报告就能够以一种有效的方法处理。 我们不强迫任何人遵循这些东西, 但是这样做对我们每个人都有好处

我们不能保证能够马上修补每个臭虫。如果臭虫是显而易见的,很关键的或者影响许多用户, 那么很有可能有些人会认真检查它们。同样我们也可能是告诉你升级到一个新版本, 看看臭虫是否仍然存在,否则我们可能会说这个臭虫在我们正计划的几个主要改写之前不会得到修补, 或者这个臭虫只是太费事了,而且目前的日程表上有更重要的事情要做, 如果你立即需要帮助,那么请考虑获取一个商业性的支持。

标识臭虫

在你报告臭虫之前,请一再仔细地读文档,以确认你确实可以做你在做的事情。 如果文档中对你能否处理你所做的事情并不清楚,也请你汇报过来,因为这个是文档的臭虫。 如果发现你的程序表现的不像文档里说的那样,那就是一个臭虫。 这时可能包括(不过不一定局限于)下面的现像:

这里的"program"代表任何可执行文件,而不仅仅是后端服务器。

速度慢或者资源消耗大不算是臭虫。请阅读文档或者提交邮件列表获取调节你的应用的性能的帮助。 未能遵循SQL标准也不算是一个臭虫,除非文档明确声明了遵守该特定特性。

在你准备继续汇报臭虫之前,请检查TODO列表和FAQ,看看你报告的臭虫是否已知。 如果你不能解析TODO列表里面的信息,请汇报你的问题。至少我们可以把TODO列表做得更清晰。

汇报什么

关于汇报臭虫需要记住的最重要的事就是写出所有事实并且只写事实。 不要推测你认为是什么错了,什么"看起来像",或者是推测程序的哪一部分失灵了。 如果你不熟悉PostgreSQL的实现,你很可能猜错,因而不能帮我们任何忙, 而且即使你熟悉Postgres的实现,提炼出来的解释也只是事实的补充而不是代替。 如果我们准备修理这个臭虫,我们仍然需要首先亲自看到臭虫的出现。 报告简单的事实相对而言比较直接 (你可以从屏幕上拷贝和粘贴), 不过经常发生的是很多人认为这些事实不重要而忽略了重要的细节,否则汇报总是能够被我们理解。

下面的条目应该包含在所有臭虫汇报里面:

不要怕你的臭虫汇报太长,这就是生活。一开始就汇报所有的事情要比让我们从你那里挤出事实要好。 另外,如果你的输入文件非常巨大,先问问有没有人有兴趣查看它也是合理的。 这里有一篇文章, 概述了一些汇报臭虫的更多的提示。

不要把时间花在寻找如何通过修改输入来消除问题的方法上。这样很可能不会对解决问题有任何帮助。 如果发现不能直接修理臭虫,你还有时间来查找和共享你的绕过方法。还有,我们再说一次, 不要在猜测臭虫的位置上面浪费时间。我们能够及时找到错误。

在你书写臭虫汇报时,请选用不易混淆的术语。软件包本身被称为"PostgreSQL", 有时简称为"Postgres"。当你特指后端服务器进程时,请明确说明,而不要仅仅是说"PostgreSQL崩溃了"。 一个独立后端服务器进程的崩溃和父进程"postgres"崩溃是相当不同的;如果你是说独立后端进程崩溃了, 那么请不要说"postgres崩溃了",反之亦然。同样,客户端程序,比如交互式前端"psql"是和后端完全独立的。 请试图说明清楚问题是出现在客户端还是服务器端。

到哪里汇报臭虫

通常,把汇报发到臭虫汇报邮件列表。 我们要求你为电子邮件消息选用一个描述性的题目,也许就用错误信息的一部分。

另外一个方法是填充web表单形式的臭虫报告,你可以在项目的web站点找到。 用这种方法输入一个臭虫报告会导致它被发送到邮件列表。

如果你的臭虫报告隐含带有安全问题,而你不想它立即出现在公开的档案库里, 那么就不要发送到pgsql-bugs。 安全问题可以私下里报告到

不要把臭虫汇报发送到任何用户邮件列表里, 例如SQL语言邮件列表。 这些邮件列表用于回答用户问题,而且那些订阅者通常不希望接收臭虫汇报。更重要的是, 他们很可能不会修理这些臭虫。

还有,请不要 向开发者邮件列表发送臭虫汇报。 这个列表用于讨论PostgreSQL的开发,因而我们很希望能和臭虫汇报分离开。 如果修理某个毛病需要更多评论,我们可能会在这个pgsql-hackers列表开一个关于你的臭虫的讨论会。

如果你觉得文档有问题,请发电子邮件到文档邮件列表, 在你的问题汇报里面指明你认为哪部分有错误。

如果你的臭虫是一个在不支持平台上的移植性问题, 向移植性问题邮件列表发送电子邮件, 这样我们(还有你)可以一起尝试把PostgreSQL移植到你的平台上。

Note: 由于我们不愿意看到各种各样的垃圾邮件,上面的所有电子邮件地址都是封闭的邮件地址。 也就是说,你需要先申请,然后才能发帖子(用web表单提交臭虫报告用不着申请)。 如果你只是想发送邮件而不想接受列表的往来邮件,你可以提交邮件并且把提交选项设置为nomail。 如果需要更多的信息,你可以向发送一封邮件, 邮件的正文只有一个单词help就可以了。