| PostgreSQL | ||
|---|---|---|
| 上一頁 | 第一章. 簡介 | 下一頁 |
下面的建議試圖幫助你正確格式化臭虫報告,這樣這些報告就能夠以一種有效的方法處理。我們不強迫任何人遵循這些東西,但是這樣做對我們每個人都有好處。
我們不能保証能夠正確修補每個臭虫。如果臭虫是顯而易見的,很關鍵的或者影響許多使用者,那麼很有可能有些人會認真檢查它們。同樣也可能是我們告訴你升級到一個新版本,看看臭虫是否仍然存在。否則,我們可能會說這個臭虫在我們正計劃的幾個主要改寫之前不會得到修補。或者這個臭虫只是太費事了,而且目前的日程表上有更重要的事情要做。如果你立即需要幫助,考慮獲取一個商業性的支援。
程式對給出的任何輸入都產生錯誤的輸出。
程式拒絕接收有效的輸入。
程式對非法輸入沒有產生任何提示或者錯誤資訊。
在支援的平台上根據指導未能成功地編譯、制作或安裝PostgreSQL。
速度慢或者資源消耗大不算是臭虫。請閱讀文件或者提交郵件列表之一獲取調節你的應用(的性能)的幫助。未能遵循 SQL 也不算是一個臭虫,除非顯式聲明了遵守該特定特性。
在你繼續準備匯報臭虫之前,請檢查 TODO 列表和 FAQ,看看你報告的臭虫是否已知。如果你不能解析 TODO 列表裡面的資訊,請匯報你的問題。最少我們可以把 TODO 列表做得更清晰。
下面的條目應該包含在所有臭虫匯報裡面:
如果你的應用使用其他客戶端介面,比如說 PHP,那麼請設法隔離出有毛病的查詢。我們可能不會設置一個
web 伺服器來復現你的問題。不管怎麼說,請記住提供準確的輸入文件,而不要猜測問題會在"大文件"或者"中等尺寸的資料庫"等等的身上發生。因為這樣的資訊太不確切,因而沒有什麼用處。
你得到的輸出。請不要說它"不起作用"或者"失靈了"。如果有錯誤資訊,請寫明,即使你不能理解也一樣。如果程式帶著作業系統錯誤退出,也請寫清楚。如果什麼也沒有發生,就照直說。即使你的測試實例是程式崩潰或者其他顯而易見的現像,它也有可能不會在我們的平台上發生。如果可能,最簡單的事情是從終端拷貝輸出。
注意:如果是致命錯誤,客戶端提供的資訊可能不會包含所有能得到的資訊。這種情況下,還要看看資料庫伺服器的輸出。如果你沒有保留你的伺服器輸出,那麼現在是做這件事的好機會。還有一樣很重要去聲明的是你期望的輸出。如果你只是寫到"這條命令給我這樣的輸出。"或者"這不是我期望的。",我們可能自己運行它,檢查輸出,然後認為看上去很好並且正是我們所期望的輸出。我們不應該把時間花在解析你的命令的語義上。特別是要避免僅僅說"這不是 SQL 說的/Oracle 做的那樣。" 從 SQL 裡挖掘出正確的特性可不是好玩的事情,我們也不能知道所有其他的關系資料庫的特性是怎樣的。(如果你的問題是程式崩潰,你顯然可以忽略這個條目。)
任何命令行選項和其他啟動選項,包括相關的環境變數或者你從預設值修改以後的配置文件。同時,還要準確。如果你使用啟動系統時自動啟動資料庫伺服器的預打包的版本,你應該試著找出這些是怎樣實現的。
任何你做得與安裝指導不一樣的東西。
PostgreSQL 版本。你可以運行命令 SELECT version()﹔來檢查你正在運行的版本是什麼。如果這個函數不存在,請說明,這樣我們就知道你的版本有夠老。如果你無法啟動伺服器或者客戶端,參閱源碼目錄裡面的 README 文件或者看看你的發布文件的名稱或包名稱。如果你的版本早於 7.0,我們幾乎可能會告訴你去升級。每個新版本都會有成噸的臭虫被修理掉,這也是我們寫(新版本)的原因。
如果你運行預打包的版本,例如 RPM,請說明,包括那個包可能有的任何子版本號。如果你說的是 CVS 快照,說明之,包括它的日期和時間。
平台資訊。這包括內核名稱和版本,C 庫,處理器,儲存器資訊。大多數情況下只需要匯報供應商和版本,但是不要指望每個人都很清楚 "Debian" 包括什麼東西或者說每個人都運行在 Pentium 上。如果你還有關於編譯器,make等安裝的問題資訊,也有必要詳細匯報。
不要把你的時間花在尋找如何通過修改輸入來消除問題的方法上。這樣很有可能不能對解決問題有任何幫助。如果發現不能直接修理臭虫,你還有時間來查找和共享你的繞過方法。還有,我們再說一便,不要在猜測臭虫的位置上面浪費時間。我們能夠及時找到錯誤。
當你書寫臭虫匯報時,請選用不易混淆的術語。軟件包本身被稱為"PostgreSQL",有時稱為 "Postgres"。(有些時候用縮寫 "Pgsql",但是請不要這麼使用。)當你特指後端伺服器時,請明確說明,而不要僅僅是說 "Postgres 崩潰了"。交互前端(SQL 界面)叫做 "psql" 而且在所有用法和用途上都是和後端完全分離的。
不要把臭虫匯報發送到任何用戶郵件列表裡,例如 SQL 語言郵件列表 或 通用話題郵件列表。這些郵件列表用於回答用戶問題,而且那些訂閱者通常不希望接收臭虫匯報。更重要的是,他們很可能不會修理這些臭虫。
還有,請不要向 開發者郵件列表 發送臭虫匯報。這個列表用於討論 PostgreSQL 的開發,因而我們很希望能和臭虫匯報分離開。如果修理這個臭虫需要更多評論,我們可能會在這個列表開一個關於你的臭虫的討論會。
如果你覺得文件有問題,請發電子郵件到 文件郵件列表。在你的問題匯報裡面指明文件、章、節。
如果你的臭虫是一個在不支援平台上的移植性問題,向 移植性問題郵件列表 發送電子郵件,這樣我們(還有你)可以一起嘗試把 PostgreSQL 移植到你的平台上。
注意:由於我們不願意看到的各種各樣的垃圾郵件,上面的所有電子郵件地址都是封閉的郵件地址。也就是說,你需要先申請,然後才能發帖子。如果你只是想發送郵件而不想接受列表的往來的郵件,你可以提交特殊的 pgsql-loophole 郵件列表,那裡允許你向所有 PostgreSQL 郵件列表發信而接收不到任何資訊。向 pgsql-loophole-request@postgresql.org 發郵件來申請。(譯注:這裡用"assume"這個詞真多,讓我想起一個老外給我講解"assume"的意思:"ass-u-me" :-D)
| 上一頁 | 首頁 | 下一頁 |
| 符號 | 開頭 | Y2K 聲明 |