1 post tagged

postgresql

#88. Как обновить postgresql

Да, здесь надо прямо-таки обновлять. Нельзя просто взять и сказать update — тебя не поймут. У postgres’а целое приложение консольное есть, чтобы правильно обновиться.

Итак:

  1. Стопорим postgres. У всех по-разному, например service postgres stop;
  2. Выполняем команду:
    
initdb /usr/local/var/postgres_version -E utf8
    postgres_version меняем на что-то более вменяемое, типа postgres9.6.1. C параметром -E всё понятно – кодировка темплейта (кто знает, что такое темплейт, – добро пожаловать в комментарии). Все базы будут иметь эту кодировку по умолчанию при создании;
  3. Дальше запускаем следующую красоту:
    pg_upgrade -v \
         -d /usr/local/var/postgres \
         -D /usr/local/var/postgres_version \
         -b /usr/local/Cellar/postgresql/9.5.4/bin/ \
         -B /usr/local/Cellar/postgresql/9.6.1/bin/
    Здесь -d — старая директория данных, -D – новая директория, которую мы указали в шаге 2, -b — старая директория, где стоит postgres, -B — директория новой версии postgres;
  4. Меняем местами старую и новую базы:
    cd /usr/local/var
    mv postgres postgres9.5.4
    mv postgres9.6.1 postgres
    Если при установке вы решили блеснуть мастерством и поменяли пути, то тут надо подставлять ваши директории;
  5. Рестартуем postgres и получаем удовольствие. Но если не повезло, то идём читать логи, stackoverflow и хабр.

Немного линков: initdb, pg_upgrade.

 1 comment   2016   postgresql   ubuntu   памятки