Обновление PostgreSQL до версии 9.5 на OS X (Homebrew)

PostgreSQL vs Homebrew

Действия, которые надо сделать:

  1. обновляем PostgreSQL из Brew;
  2. бекапим базы;
  3. выключаем старый сервер PostgreSQL;
  4. инициализируем новый сервер;
  5. запускаем новый сервер;
  6. загружаем базы в новый сервер.

1. Обновление PostgreSQL из Brew

brew up
brew upgrade postgresql

2. Создание бекапа

pg_dumpall > dumpall.sql
mv /usr/local/var/postgres /usr/local/var/postgres-9.4

3. Отключение старого сервера

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

4. Инициализация нового сервера

initdb -D /usr/local/var/postgres

Команда initdb создаст в /usr/local/var новый каталог postgres с данными и настройками, соотвественно старые настройки надо перенести из файлов pg_hba.conf, postgresql.conf и pg_ident.conf. Не все параметры из старой версии могут подходить к новой, из-за этого новый сервер может не захотеть стартовать.

5. Запуск сервера

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Если сервер не запустился, то обо всех ошибках можно узнать из файла /usr/local/var/postgres/server.log

6. Загрузка старых баз данных

psql -d postgres -f dumpall.sql

P.S.

Страничка с postgresql.org, посвященная обновлению до 9.5 — http://www.postgresql.org/docs/9.5/static/upgrading.html