PostgreSQL
上一頁 第一章. 簡介 下一頁

問題匯報指導

當你在PostgreSQL 裡碰到問題時,我們也希望聽到它。你的臭虫匯報是將 PostgreSQL 做得更加可靠的一個非常重要的部分,因為即使是細致到極限的工作也不能保証在任何情況任何平台下 PostgreSQL 的每一個部分都能正常工作。

下面的建議試圖幫助你正確格式化臭虫報告,這樣這些報告就能夠以一種有效的方法處理。我們不強迫任何人遵循這些東西,但是這樣做對我們每個人都有好處。

我們不能保証能夠正確修補每個臭虫。如果臭虫是顯而易見的,很關鍵的或者影響許多使用者,那麼很有可能有些人會認真檢查它們。同樣也可能是我們告訴你升級到一個新版本,看看臭虫是否仍然存在。否則,我們可能會說這個臭虫在我們正計劃的幾個主要改寫之前不會得到修補。或者這個臭虫只是太費事了,而且目前的日程表上有更重要的事情要做。如果你立即需要幫助,考慮獲取一個商業性的支援。

標識臭虫

在你發出"這是個臭虫嗎?"這樣的問題之前,請一再仔細地讀文件,以確認你確實可以做你想做的事情。如果文件中對你能否處理你所做的事情並不清楚,也請你匯報過來﹔因為這個是文件的臭虫。如果發現你的程式的表現不像文件裡說的那樣,那就是一個臭虫。這時可能包括(不過不一定局限於)下面的現像: 這裡的"程式"代表任何可執行文件,而不僅僅是後端伺服器。

速度慢或者資源消耗大不算是臭虫。請閱讀文件或者提交郵件列表之一獲取調節你的應用(的性能)的幫助。未能遵循 SQL 也不算是一個臭虫,除非顯式聲明了遵守該特定特性。

在你繼續準備匯報臭虫之前,請檢查 TODO 列表和 FAQ,看看你報告的臭虫是否已知。如果你不能解析 TODO 列表裡面的資訊,請匯報你的問題。最少我們可以把 TODO 列表做得更清晰。

匯報什麼

關於匯報臭虫需要記住的最重要事就是寫出所有事實並且只寫事實。不要推測你認為是什麼錯了,什麼"看起來像",或者是推測程式的哪一部分失靈了。如果你不熟悉 Postgres 的實現,你很可能猜錯因而不能幫我們任何忙。而且即使你熟悉 Postgres 的實現,提煉出來的解釋也只是事實的補充而不是代替。如果我們準備修理這個臭虫,我們仍然需要首先親自看到臭虫的出現。報告簡單的事實相對而言比較直接(你可以從屏幕上拷貝和粘貼),不過經常發生的是很多人認為這些事實不重要而忽略了重要的細節,否則匯報總是能夠被我們理解。

下面的條目應該包含在所有臭虫匯報裡面:

不要怕你的臭虫匯報變得很長。這就是生活。一開始就匯報所有的事情要比讓我們從你那裡擠出事實要好。另外,如果你的輸入文件非常巨大,先問問有沒有人有興趣查看它也是合理的。

不要把你的時間花在尋找如何通過修改輸入來消除問題的方法上。這樣很有可能不能對解決問題有任何幫助。如果發現不能直接修理臭虫,你還有時間來查找和共享你的繞過方法。還有,我們再說一便,不要在猜測臭虫的位置上面浪費時間。我們能夠及時找到錯誤。

當你書寫臭虫匯報時,請選用不易混淆的術語。軟件包本身被稱為"PostgreSQL",有時稱為 "Postgres"。(有些時候用縮寫 "Pgsql",但是請不要這麼使用。)當你特指後端伺服器時,請明確說明,而不要僅僅是說 "Postgres 崩潰了"。交互前端(SQL 界面)叫做 "psql" 而且在所有用法和用途上都是和後端完全分離的。

到哪裡匯報臭虫

通常,把匯報發到臭虫匯報郵件列表。我們建議你為你的電子郵件消息選用一個描述性的題目,也許就用錯誤資訊的一部分。

不要把臭虫匯報發送到任何用戶郵件列表裡,例如 SQL 語言郵件列表通用話題郵件列表。這些郵件列表用於回答用戶問題,而且那些訂閱者通常不希望接收臭虫匯報。更重要的是,他們很可能不會修理這些臭虫。

還有,請不要向 開發者郵件列表 發送臭虫匯報。這個列表用於討論 PostgreSQL 的開發,因而我們很希望能和臭虫匯報分離開。如果修理這個臭虫需要更多評論,我們可能會在這個列表開一個關於你的臭虫的討論會。

如果你覺得文件有問題,請發電子郵件到 文件郵件列表。在你的問題匯報裡面指明文件、章、節。

如果你的臭虫是一個在不支援平台上的移植性問題,向 移植性問題郵件列表 發送電子郵件,這樣我們(還有你)可以一起嘗試把 PostgreSQL 移植到你的平台上。

注意:由於我們不願意看到的各種各樣的垃圾郵件,上面的所有電子郵件地址都是封閉的郵件地址。也就是說,你需要先申請,然後才能發帖子。如果你只是想發送郵件而不想接受列表的往來的郵件,你可以提交特殊的 pgsql-loophole 郵件列表,那裡允許你向所有 PostgreSQL 郵件列表發信而接收不到任何資訊。向 pgsql-loophole-request@postgresql.org 發郵件來申請。

(譯注:這裡用"assume"這個詞真多,讓我想起一個老外給我講解"assume"的意思:"ass-u-me" :-D)


上一頁 首頁 下一頁
符號 開頭 Y2K 聲明