На сервере Ubuntu уже установлена версия 8.4 PostgreSQL Server. Мне нужно установить 8.2 на тот же сервер.
Я бы предпочел установить из .DEB вместо компиляции из исходников.
Вы можете использовать надежный репозиторий Ubuntu:
Конец:
# 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
Пакеты Debian postgresql предназначены для установки рядом с pg_*cluster
команды для управления ими, что делает установку из .deb отличной идеей. К сожалению, похоже, что hardy (8.04) был последней версией Ubuntu для упаковки postgresql-8.2 (во вселенной), я уверен, что библиотеки, с которыми он был скомпилирован, отличаются от тех, что у вас есть сейчас, и, вероятно, будут конфликтовать с тем, что у вас есть, если вы попытаетесь просто установить пакет.
Самый простой способ пересобрать пакет - добавить deb-src
строки к вашим источникам для Харди:
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
будет извлекать исходный код и собирать пакеты debian для всего этого, используя версии библиотек, найденные в Maverick.