Как развернуть Postgres 8 в 2024 году?
Немного лирики. Начнем с того, что в мире существует большое количество программного обеспечения созданное множество лет назад, которое было куплено компанией в которой ты работаешь и уже лет 10 оно успешно работает (а может и не работает) и приносит какую-то пользу. Но я как архитектор и администратор баз данных, очень люблю эксперименты.
Чем только я не занимался и какие "веселые" задачи не встречал. Но тут подвернулась возможность перевести программу нулевых с Microsoft Access на PostgresSQL.
Софт иностранный, поддержки нет, собственно, возможно уже даже нет компании, которая выпустила этот софт. Из исходных данных знаем, что есть поддержка Microsoft Access и PostgresSQL (какой версии - неизвестно). Но более-менее свежих версиях данное ПО не стартует. Решено ставить 8-ю версию PostgresSQL и тестировать.
Собственно гайд , как же установить с запустить сервер Postgres 8 на Ubuntu 22.04.
В первую очередь установим нужные нам пакеты.
sudo apt-get updatesudo apt-get install build-essential libreadline-dev zlib1g-dev
(libreadline-dev -- важно что бы был установлен , т.к без него ./configure не отработает успешно)
Далее скачиваем Postgres 8.4.20 wget https://ftp.postgresql.org/pub/source/v8.4.20/postgresql-8.4.20.tar.gz
Если по какой то причине у нас не установлен wget
apt-get install wget и пробуем еще раз.
Далее распакуем архив и перейдем в директорию:tar -xvzf postgresql-8.4.20.tar.gz
cd postgresql-8.4.20
Далее нужно запустить команду ./configure
для настройки процесса сборки.
Если вы не увидели ошибок запускаем компанду Make make
Далее после успешной компиляции запускаем установку sudo make install
После окончания установки получаем уведомление :
Проверяем версию:
Создаем пользователя Postgres:sudo useradd postgres
После чего создаем каталог данных : sudo mkdir /usr/local/pgsql/data
sudo chown postgres /usr/local/pgsql/data
Далее переходим к пользователю Postgressudo -iu postgres
Запускаем initdb:/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
Ну и собственно запускаем сам инстанс:/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data start
Проверяем что все работает :/usr/local/pgsql/bin/psql
В целом ничего сложно в этом нет, я на самом деле не думал, что все это дело нормально скомпилируется и запустится на ubuntu 22.04, но все работает ... Собственно будем тестировать на Астре, может быть, там всплывут какие-то подводные камни.
Это мой первый пост на Хабре, если кому-то это будет интересно, я очень буду рад, спасибо за внимание.