Миграция между версиями postgresql ( 9.1 to 9.4 )

Posted in Новости on августа 16, 2015 by admin

1. Останавливаем все кластеры, с которыми будет проводиться работа :

/etc/init.d/postgresql stop

2. Логинимся под potgres для продолжения работ :

sudo -u postgres -i

3. Проверяем корректность миграции ( check ) :

cd /tmp
mkdir psql_up
cd psql_up
--- одна строка ---
/usr/lib/postgresql/9.4/bin/pg_upgrade -c -k -b /usr/lib/postgresql/9.1/bin -B /usr/lib/postgresql/9.4/bin -d ../9.1/main/ -D ../9.4/main/ -o " -c config_file=/etc/postgresql/9.1/main/postgresql.conf " -O " -c config_file=/etc/postgresql/9.4/main/postgresql.conf "
--------------------

Проверяем что все ОК пункты

postgres@xxx:~/upgrade$ /usr/lib/postgresql/9.4/bin/pg_upgrade -c -k -b /usr/lib/postgresql/9.1/bin -B /usr/lib/postgresql/9.4/bin -d ../9.1/main/ -D ../9.4/main/ -o " -c config_file=/etc/postgresql/9.1/main/postgresql.conf " -O " -c config_file=/etc/postgresql/9.4/main/postgresql.conf "
Performing Consistency Checks
-----------------------------
Checking cluster versions ok
Checking database user is a superuser ok
Checking database connection settings ok
Checking for prepared transactions ok
Checking for reg* system OID user data types ok
Checking for contrib/isn with bigint-passing mismatch ok
Checking for invalid "line" user columns ok
Checking for presence of required libraries ok
Checking database user is a superuser ok
Checking for prepared transactions ok

*Clusters are compatible*

4. Теперь если все ОК, убираем флаг «-c» ( check ) и ждем завершения миграции
5. Гасим старый кластер ( я не удалял, а на всякий случай просто перенес из рабочего каталога наружу )

mv /usr/lib/postgresql/9.1 /root

6. Меняем в настройках нового кластера порт на порт старого кластера в /etc/postgresql/9.4/main/
7. Стартуем :

/etc/init.d/postgresql start

Tags: , , ,

Переключение между кластерами postgresql

Posted in Новости on августа 16, 2015 by admin

Допустим, на сервере установлено две разных версии postgresql ( 9.1 и 9.4 ) нам требуется консольно ( psql ) зайти на нужный сервер. Для этого сначала выведем список всех кластеров на сервере :

pg_lsclusters

Далее видим столбец Cluster с именем и подключаем к нужной версии :

psql --cluster 9.4/main
psql --cluster 9.1/main

Tags: , , ,

Устанавливаем нужную кодировку postgresql ru_RU.UTF-8

Posted in Новости on августа 16, 2015 by admin

Сначала останавливаем и удаляем кластер :

pg_dropcluster --stop 9.4 main

Создаем с нужной кодировкой :


pg_createcluster --locale ru_RU.UTF-8 --start 9.4 main

Tags: ,