我正在尝试将服务器从 postgresql-9.1 升级到版本 9.6。我通常会安装一些东西,apt-get install
但我在工作时使用的服务器没有直接的互联网访问权限。我还试图避免apt-get update
(这似乎是使用 apt-get 安装的说明的一部分),因为当我之前运行它时,它导致服务器上的 samba 共享出现问题。
出于这些原因,我尝试从源代码安装 postgressql-9.6。安装似乎进展顺利(./configure
,make
并且make install
运行顺利),我收到一条消息,提示 postgres-9.6 已成功安装。但是,当我运行:
sudo aptitude search postgresql | grep ^i
我所能看到的只是 postgresql-9.1 版本。也没有任何迹象表明/etc/postgresql/
或中安装了版本 9.6 /usr/lib/postgresql/
。为什么我收到了安装成功的消息,却没有嗅探到服务器上的实际程序?
答案1
默认情况下,从库存源构建的 postgresql 服务(来自https://www.postgresql.org/ftp/source) 将被安装到 中/usr/local/pgsql
,并且你的 Ubuntu 系统将完全忽略它,因为它不是它所知道的一部分。
使用包的原因不仅仅是为了避免编译,还为了在启动/停止/记录服务方面有适当的系统集成,以及所有程序和文件所在位置的一致性。
如果你自己管理好所有这些方面,那么完全可以使用 postgresql/usr/local/pgsql
如果您使用的是较新版本的 Ubuntu,更简单的选择是获取文件形式的预编译包.deb
,然后使用 手动安装dpkg
,如果您必须单独获取它们,而不是让别人apt-get update
为您安装。PGDG 提供的预编译二进制文件是
https://apt.postgresql.org/pub/repos/apt/pool/9.6/p/postgresql-9.6/
但是由于您使用的是 Ubuntu 12.04,所以下一个问题是它不再受支持,所以我认为这些软件包将无法工作,因为它们可能依赖于 12.04 没有的其他软件包。