在 Ubuntu 服务器上,已经安装了 PostgreSQL Server 8.4 版本。我必须在同一台服务器上安装 8.2 版本。
我宁愿从 .DEB 安装,而不是从源代码编译。
答案1
您可以使用 hardy Ubuntu 存储库:
- sudo echo“debhttp://ru.archive.ubuntu.com/ubuntu/哈代宇宙” > /etc/apt/sources.list.d/hardy.list
- sudo apt-get 更新
- cd && apt-get 源 postgresql-8.2
- sudo apt-get build-dep postgresql-8.2
- sudo apt-get 安装 libreadline-dev
- cd postgresql-8.2-8.2.7/
- vi debian/control,将“libreadline5-dev”更改为“libreadline-dev”
- dpkg-构建软件包
- cd && sudo dpkg -i postgresql-8.2_8.2.7-1_i386.deb postgresql-client-8.2_8.2.7-1_i386.deb postgresql-contrib-8.2_8.2.7-1_i386.deb
- rm /etc/apt/sources.list.d/hardy.list
结尾:
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
# pg_lsclusters
Version Cluster Port Status Owner Data directory Log file
8.2 main 5433 online postgres /var/lib/postgresql/8.2/main /var/log/postgresql/postgresql-8.2-main.log
8.4 main 5432 online postgres /var/lib/postgresql/8.4/main /var/log/postgresql/postgresql-8.4-main.log
答案2
Debian 的 postgresql 软件包设计为可并排安装,并带有pg_*cluster
用于控制它们的命令,这使得从 .deb 安装成为一个很好的主意。不幸的是,hardy(8.04)似乎是最后一个打包的 Ubuntu 版本postgresql-8.2(在宇宙中),我确信它编译的库与您现在所拥有的不同,并且如果您尝试安装该包,它可能会与您拥有的库相冲突。
重建软件包的最简单方法是deb-src
向 Hardy 的源中添加以下几行:
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy universe
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy-security universe
然后,在 之后apt-get update
,您应该使用apt-get build-dep postgresql-8.2
安装所有构建依赖项。如果在 Maverick 中根本找不到某些东西,您将不得不判断该包是否更改了名称并手动安装,或者也从源代码构建该包。一旦您安装了所有构建依赖项,apt-get source --compile postgresql-8.2
将获取源代码并使用在 Maverick 中找到的库版本为所有这些构建 debian 包。