PostgreSQL
December 3, 2022

Создание кластера PostgreSQL 14 из сырцов

Данное решение предназначено для установки на ВМ и предполагает некую кастомизацию. Имеет смысл использовать если в пакетном решении нет какой-то настройки или функции. Ну или просто есть желание разобраться как компилировать postgres.

Перед началом создадим ВМ с ОС Ubuntu 20.04. Подключимся к ней по ssh. И установим необходимые для компиляции продукты:

sudo apt -y install gcc gdb make

Качнём с официального сайта необходимую версию: https://www.postgresql.org/ftp/source/

Например PostgreSQL14. Запускаем от имени обычного пользователя с правами sudo!!

mkdir postgresql && cd postgresql
wget https://ftp.postgresql.org/pub/source/v14.0/postgresql-14.0.tar.gz
tar zxf postgresql-14.0.tar.gz
cd postgresql-14.0

Конфигурируем и устанавливаем:

./configure --prefix=/home/cameda/pgsql14 --with-pgport=5555 --without-readline --without-zlib
make && make install

Настраиваем и запускаем:

cd /home/cameda/pgsql14
export PGDATA=/home/cameda/pgsql14/data
mkdir /home/cameda/pgsql14/data
export PATH=/home/cameda/pgsql14/bin:$PATH
initdb -U postgres -k -D /home/cameda/pgsql14/data
pg_ctl -D /home/cameda/pgsql14/data -l logfile start
psql -U postgres -p 5555 -c 'SELECT now();'

Данные будут находиться в каталоге /home/cameda/pgsql14/data
Контрольные суммы в файле logfile в той директории откуда запускаем команду.
Суперпользователь - postgres, порт для работы - 5555.

В команде initdb -U postgres -k -D /home/cameda/pgsql14/data, ключ -k обозначает включение контрольных сумм.

Если надо остановить кластер:

pg_ctl stop -m fast

Смотрим с какими ключами был создан кластер:

pg_config --configure

Полезные ссылки:

https://edu.postgrespro.ru/dba1-13/dba1_01_tools_install.html