2013-04-04 114 views
2

爲了便於部署,我希望將Postgres的安裝作爲應用程序的一部分發布。是否可以包含一個已編譯且可運行的Postgres版本,可以作爲進程啓動?我可以用Windows和MacOS版本做這樣的事情,但是在這個問題上還沒有發現有關Linux的任何事情。也許有人已經嘗試過,可以分享一些見解...Postgresql的Linux獨立「安裝」

+0

如果您這樣做,**請**使用非默認端口,以便您不會踩踏/衝突任何本地PostgreSQL安裝。 – 2013-04-04 00:46:15

+0

是的,謝謝。這是要考慮的事情... – orange 2013-04-04 01:32:48

+0

你的主要問題是,不會只有一個「Linux」。您需要做一些工作來處理與libc的兼容性,準備捆綁您自己版本的大多數其他庫,在啓動二進制文件之前使用包裝腳本設置環境變量(如「LD_LIBRARY_PATH」)等。Packaging standalone即使在考慮支持不同的體系結構(x64,x86,arm,...)之前,Linux下的二進制文件也具有挑戰性。認真考慮讓Linux用戶安裝他們自己的pg。 – 2013-04-04 03:47:45

回答

1

你還沒有說明你在使用什麼linux操作系統。

假設這是一個Redhat變種,爲什麼不把你的應用程序打包成RPM包?然後您可以聲明對標準Postgres軟件包的依賴關係,該軟件包將自動安裝yum。如果您使用的是基於Debian的系統,則只適用於不同的打包格式。

從用戶的角度來看,操作系統的本機打包格式始終是安裝應用程序的最簡單方式。只需要努力妥善打包。

+0

它可能是Debian類型的發行版。軟件包安裝的問題在於它將被安裝在我不想要的系統範圍內。 – orange 2013-04-07 22:00:34

+0

@orange不明白爲什麼系統端安裝會出現這樣的問題。單個Postgres數據庫不僅能夠託管多個數據庫實例。您確實要求「輕鬆」部署打包您的應用程序意味着您可以利用操作系統的應用程序管理功能。不要忘記升級和刪除。 – 2013-04-08 18:04:10

1

你可以找到關於PostgreSQL的官方網站這些網頁跨平臺的二進制文件:

下載RPM或deb包,我發現這些鏈接上http://www.postgresql.org/download/linux/ubuntu/,在「交叉分發包「和」圖形安裝程序「。

我從這些頁面引用:

注:跨包分配並不完全與平臺相關的包裝系統集成。

您必須擁有root權限才能安裝這些軟件包,但是,您的系統庫文件都不會被更改。這些二進制文件需要的支持庫將作爲安裝的一部分本地包含在內。這是「特殊醬油」,它允許相同的二進制文件在不同的Linux發行版上運行。

+0

我剛剛注意到.run安裝程序也可以接受命令行開關。 – Ali 2014-01-11 07:48:49