Обновление PostgreSQL на FreeBSD

Мажорные версии PostgreSQL не обновляются автоматически. При переходе нужно сохранить все данные из старой версии и восстановить их в новой. Приводим пример, как это сделать:

# Обновить информацию о пакетах и уже установленные пакеты
pkg update && pkg upgrade

# Сделать полную резервную копию postgresql
pg_dumpall -U postgres -h 127.0.0.1 | gzip > backup.sql.gz

# Остановить установленный PG
service postgresql stop

# Установить новую версию PG
pkg install postgresql15-server postgresql15-contrib postgresql15-client

# Инициализировать БД для свежеустановленной версии PG
service postgresql initdb

# На этом этапе желательно отредактировать настройки 
# в postgresql.conf pg_hba.conf
# При использовании репликации, вам, вероятно, нужно
# будет скорректировать wal_level

# Запускаем новый postgres
service postgresql start

# Восстанавливаем всё содержимое
gzcat backup.sql.gz | psql -U postgres -h 127.0.0.1