Postgresql

如何在 Windows 上的 PostgreSQL 中應用更新檔?

  • April 8, 2014

如何在 PostgreSQL 中應用更新檔?我找到了一個建議,但它似乎只適用於 *NIX。我的 PostgreSQL(9.3.1 編輯:現在是 9.3.4)是從 Windows XP(32 位)上的 exe 安裝程序安裝的,所以我沒有在建議中找到我的情況。

我現在不是在談論次要版本升級 - 我可以通過 Stack Builder 下載安裝程序,並且已經有一個很好的回答問題關於如何處理它。但是,如果我需要一些無法通過 StackBuilder 獲得的東西,或者甚至沒有可執行安裝程序(在我的情況下,是僅在 .patch 文件中分發的更新檔),我該怎麼辦?

此答案適用於通過應用“差異”或“更新檔”來修改 PostgreSQL 原始碼。這與安裝次要版本更新無關;為此,只需下載並執行安裝程序。


要更改 PostgreSQL 伺服器的自身或過程語言執行時,您通常需要從頭開始重新編譯 PostgreSQL。

在 Windows 上,這是一項艱鉅的工作。postgresql 文件涵蓋了該過程,但它並沒有真正處理依賴關係等。

編寫了一些工具和文件以使其更容易,但它們還沒有編譯所有依賴項,如 OpenSSL,因此生成的二進製文件不像股票安裝程序那樣功能完整。它們也不能保證與擴展二進制兼容。

如果您只需要修補一個更容易一點的擴展程序,雖然遠非微不足道。前段時間我花了一些時間研究如何在 Windows 上建構 PostgreSQL 擴展而不重新編譯所有 PostgreSQL。類似的方法可能適用於重新編譯類似的東西pg_dumppg_restore但我還沒有測試過。

PostGIS、PgRouting、PgAdmin-III、psqlODBC、pgJDBC、psycopg2、Ruby Pg gem、DBD::Pg、PgPool 等附加組件、客戶端和實用程序都使用不同的程序單獨編譯。您需要查找相關工具以獲取詳細資訊。

坦率地說,如果您在 PostgreSQL 上進行任何類型的開發工作,我不推薦 Windows 作為平台。

引用自:https://dba.stackexchange.com/questions/62741