Администрирование

Обновление PostgreSQL с 14-й на 15-ю версию на Ubuntu 20.04

Просмотры: 7501
Категория: Администрирование
Создано: 14 ноября 2021
Тэги: PostgreSQL Linux Ubuntu

Новые мажорные версии PostgreSQL выходят довольно часто. Разработчики добавляют новый функционал с каждой такой версией. А старые версии уже становятся неподдерживаемыми. В этой заметке я расскажу как перейти на более новую версию сервера PostgreSQL на примере ОС Ubuntu. В частности переходить будем с 14-й на 15-ю версию.

Это изменённая версия моей статьи по переходу с 13-й версии на 14-ю. Ничего не поменялось за исключением цифр :)

Итак, пусть на сервере установлена 13-я версия PostgreSQL и нам по каким-либо причинам нужно обновиться до 14-й версии. Делаем это так.

Сначала создаём дамп всех наших баз. Делается это всё из-под пользователя postgres.

sudo su postgres

cd /tmp

pg_dumpall > backup.sql

exit

Теперь обновляем систему, если не сделали это заранее

sudo apt update

и устанавливаем свежий PostgreSQL

sudo apt install postgresql-15 postgresql-server-dev-15

В системе теперь работают два кластера, один старый на 5432 порту, и новый - на порту 5433. Останавливаем их

sudo systemctl stop postgresql.service

Совершаем собственно обновление из-под postgres.

sudo su postgres

/usr/lib/postgresql/15/bin/pg_upgrade \
--old-datadir=/var/lib/postgresql/14/main \
--new-datadir=/var/lib/postgresql/15/main \
--old-bindir=/usr/lib/postgresql/14/bin \
--new-bindir=/usr/lib/postgresql/15/bin \
--old-options '-c config_file=/etc/postgresql/14/main/postgresql.conf' \
--new-options '-c config_file=/etc/postgresql/15/main/postgresql.conf'

exit

Правим конфигурационные файлы. Меняем порты. Старая (14-я в нашем случае) будет работать на 5433 порту, а новая (15-я у нас) на 5432 порту.

sudo vim /etc/postgresql/15/main/postgresql.conf
# меняем port на 5432

sudo vim /etc/postgresql/14/main/postgresql.conf
# меняем port на 5433

Если нужно (но если предыдущая версия была правильно настроено, то не нужно), правим файл pg_hba.conf

sudo vim /etc/postgresql/15/main/pg_hba.conf

Запускаем сервер PostgreSQL.

sudo systemctl start postgresql.service

Убеждаемся, что всё работает правильно. Например, заходим в базу в командной строке. Проверяем работоспособность серверов, которые используют PostgreSQL (например, сайты, написанные на Django). Если всё нормально, удаляем старый сервер

sudo apt remove postgresql-14 postgresql-server-dev-14

Удаляем старые конфигурационные файлы.

sudo rm -rf /etc/postgresql/14/

Чистим кластер

sudo su postgres

cd /tmp

./delete_old_cluster.sh

Перезапускаем кластер

sudo systemctl restart postgresql.service

Разработчики рекомендуют выполнить ещё такую команду

/usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages

На этом всё. Теперь в нашей системе PostgreSQL стоит самой последней версии.

Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене

Новое видео
Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»
Поддержать автора сайта!
​ Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.
Расписание пробников Статграда в 2026/27 учебном году
Информатика ОГЭ 9 класс
  1. 13 октября 2026 года
  2. 3 декабря 2026 года
  3. 21 января 2027 года
  4. 19 февраля 2027 года
  5. 23 марта 2027 года
  6. 27 апреля 2027 года
Математика ОГЭ 9 класс
  1. 23 сентября 2026 года
  2. 1 декабря 2026 года
  3. 22 января 2027 года
  4. 3 марта 2027 года
  5. 14 апреля 2027 года
Физика ОГЭ 9 класс
  1. 19 октября 2026 года
  2. 10 декабря 2026 года
  3. 29 января 2027 года
  4. 17 марта 2027 года
  5. 22 апреля 2027 года
Математика ЕГЭ 10 класс
  1. 3 февраля 2027 года
  2. 11 мая 2027 года
Информатика ЕГЭ 11 класс
  1. 22 октября 2026 года
  2. 15 декабря 2026 года
  3. 26 января 2027 года
  4. 2 марта 2027 года
  5. 13 апреля 2027 года
Математика ЕГЭ 11 класс
  1. 30 сентября 2026 года
  2. 17 декабря 2026 года
  3. 9 февраля 2027 года
  4. 16 марта 2027 года
  5. 21 апреля 2027 года
Физика ЕГЭ 11 класс
  1. 14 октября 2026 года
  2. 16 декабря 2026 года
  3. 4 февраля 2027 года
  4. 12 марта 2027 года
  5. 9 апреля 2027 года