PostgreSQL14. CentOS7. Установка
Описание установки PostgreSQL на CentOS 7 с переносом базы в новое место.
2023-05-02
1. Добавление yum-репозитория
-
Добавляем файл-репо:
USERNAME=nx-pubrepo-reader PASSWORD=xxxxxxxxxxxxxxxxx cat << EOF > /etc/yum.repos.d/pgdg-14.repo [pgdg-common] username=$USERNAME password=$PASSWORD name=PostgreSQL common RPMs for RHEL/CentOS \$releasever - \$basearch baseurl=http://nexus.example.org:8081/repository/pub_postgresql_yum/common/redhat/rhel-\$releasever-\$basearch enabled=1 gpgcheck=0 gpgkey=http://nexus.example.org:8081/repository/pub_postgresql_yum/RPM-GPG-KEY-PGDG-AARCH64 [pgdg14] username=$USERNAME password=$PASSWORD name=PostgreSQL 14 for RHEL/CentOS \$releasever - \$basearch baseurl=http://nexus.example.org:8081/repository/pub_postgresql_yum/14/redhat/rhel-\$releasever-\$basearch enabled=1 gpgcheck=0 gpgkey=http://nexus.example.org:8081/repository/pub_postgresql_yum/RPM-GPG-KEY-PGDG-AARCH64 EOF
-
Проверяем подключение к репо:
yum check-update
2. Установка PostgreSQL
- Устанавливаем PostgreSQL командой:
yum install -y postgresql14-server
3. Инициализация базы данных
-
Выполняем:
/usr/pgsql-14/bin/postgresql-14-setup initdb
База данных будет создана в
/var/lib/pgsql/14/data
.
4. Перенос базы данных в /srv
- При необходимости, копируем ранее созданную базу данных в другое место
/srv
, к которому подключен большой диск:rsync -av /var/lib/pgsql /srv/
5. Запуск postgresql-14
-
Переопределяем путь к базе данных в systemd-юните ‘postgresql-14.service’:
UNITNAME='postgresql-14.service' DBPATH='/srv/pgsql/14/data/' mkdir -p /etc/systemd/system/${UNITNAME}.d echo -e "[Service]\nEnvironment=PGDATA=${DBPATH}" > \ /etc/systemd/system/${UNITNAME}.d/override.conf
-
Перечитываем systemd и запускаем PostgreSQL:
systemctl daemon-reload systemctl enable --now $UNITNAME
6. Заключительная зачистка
- Удаляем оставшуюся копию базы данных:
rm -rf /var/lib/pgsql