2013-04-04 79 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