Обновление версии PostgreSQL

Для примера рассмотрим практический способ обновления PostgreSQL c 9.1 на 9.2 на ОС Ubuntu 11.

Исправление пакетов

При установке postgres 9.2 выскочила ошибка:

E: Не удалось исправить ошибки, у вас отложены (held) испорченные пакеты.

Чтобы исправить ситуацию, рекомендуют сделать следующее:

apt-get -f install
apt-get update
apt-get upgrade
Но это не помогло.
Добавил в /etc/apt/sources.list.d/pgdg.list

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main
deb http://security.ubuntu.com/ubuntu precise-security main
deb http://de.archive.ubuntu.com/ubuntu precise-updates main

Обновление пакетов

После этого ставим новые пакеты:

apt-get install libnih1 libc6
apt-get install postgresql-client-common
apt-get install postgresql-common
apt-get install postgresql-9.2

Сообщение об ошибке:

postgresql-9.2 зависит от postgresql-client-9.2, однако:

Обновление БД

Чтобы обновить БД достачно :

/usr/lib/postgresql/9.2/bin/pg_upgrade \
-b /usr/lib/postgresql/9.1/bin \
-B /usr/lib/postgresql/9.2/bin \
-d /var/lib/postgresql/9.1/main/ \
-D /var/lib/postgresql/9.2/main/ \
-O "--c config_file=/etc/postgresql/9.2/main/postgresql.conf" \
-o "-c config_file=/etc/postgresql/9.1/main/postgresql.conf"

Резервное корпирование

Сделать бекап БД:

pg_dump -file <dbname>.tar -F t -v -h localhost -p 5432 -U <username> -W <dbname>