Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode / 9 сообщений из 9, страница 1 из 1
21.04.2008, 12:35
    #35268139
holem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
Привет, друзья.
В связи с развитием проекта, возникла острая необходимость обновления базы до версии 8.3 (впечатлили результаты тестирования - особенно в части работы с дисковой подсистемой) и смена её кодировки на unicode (в целях создания мультиязычности).
Погуглив, нашел нехитрый способ это сделать: сделать дамп, дропнуть старую базу, создать новую в юникоде и заресторить уже в новую базу. Однако при этом необходимо останавливать работу субд, а соответственно и ресурса, что недопустимо. Причем размер базы данных очень велик, а значит время переезда на юникод увеличивается, что увеличивает простой ресурса.
Неужели никак нельзя сделать "по-горячему", без остановки работы субд? Может быть кто-то уже сталкивался с подобной задачей и может поделиться опытом? Или просто есть идеи как это проще сделать?
Спасибо!
...
Рейтинг: 0 / 0
21.04.2008, 13:12
    #35268260
Thamerlan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
Можно через репликацию SLONY. Создадите slave базу (8.3), потом сделаете switchover и отключите старый master (8.1). Время простоя ~ 5 минут на switchover.
...
Рейтинг: 0 / 0
21.04.2008, 14:18
    #35268450
holem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
Да, можно, но к сожалению таким образом можно обновить субд до версии 8.3, что касается смены кодировки - тут slony видимо не подходят:
http://wiki.linuxformat.ru/index.php/LXF91:PostgreSQLНа начало марта 2007 года последняя версия Slony I была 1.2.2. Для функционирования этой версии необходим PostgreSQL старше 7.3.3, так как требуется обязательная поддержка пространства имён (namespace). При репликации предполагается, что все базы данных создавались с указанием одной и той же кодовой страницы Или сейчас эта возможность уже присутствует? Текущая версия вроде бы 1.2.13
...
Рейтинг: 0 / 0
21.04.2008, 16:02
    #35268916
Thamerlan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
Дока 1.2.13
Slony-I assumes that they use identical encodings.
...
If the encodings are "closely equivalent", you may be able to get away with them not being absolutely identical. For instance, if the origin system used LATIN1 and a subscriber used SQL_ASCII and another subscriber used UNICODE, and your application never challenges the boundary conditions between these variant encodings, you may never experience any problems.


Там есть ньюансы, прочитайте 3.3. Database Encoding
...
Рейтинг: 0 / 0
25.04.2008, 22:25
    #35281126
holem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
Thamerlan , огромное спасибо.
Еще один вопрос: возможен ли запуск 2-х серверов postgres на одном физическом сервере? Просто у нас всего один сервер для базы, хотелось бы просто запустить 8.3 там же, сделать репликацию и потом убрать старый 8.1. И если так можно, то во нагрузка на этом сервере, получается, возрастет в 2 раза?
...
Рейтинг: 0 / 0
26.04.2008, 11:02
    #35281332
Thamerlan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
holem
Еще один вопрос: возможен ли запуск 2-х серверов postgres на одном физическом сервере? Просто у нас всего один сервер для базы, хотелось бы просто запустить 8.3 там же, сделать репликацию и потом убрать старый 8.1. И если так можно, то во нагрузка на этом сервере, получается, возрастет в 2 раза?

На одном сервере можно запускать сколько угодно postgres'ов разных версий. Только не забудьте, что вам нужно скомпилять postgres 8.3 в отдельную директорию и стартовать его с правильными путями в PATH. Ну и pgport с pgdata свои прописать.

По поводу нагрузки....
Затрудняюсь сказать во сколько раз возрастет нагрузка. Слишком много неизвестных :)
Будет большой пик во время инициализации новой ноды слонов , т.е. фактически перегон всей вашей старой базы через команду COPY. Вы можете на это время отключить fsync в 8.3.
...
Рейтинг: 0 / 0
26.04.2008, 11:11
    #35281341
Thamerlan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
Вот только насчет SLONY на одном сервере я не уверен. Теоретически должно работать, но я лично не проверял...
...
Рейтинг: 0 / 0
26.04.2008, 18:14
    #35281607
Ленивец
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
По-горячему лучше не делать - особенно на рабочем ресурсе.
...
Рейтинг: 0 / 0
27.04.2008, 13:43
    #35282126
holem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
ЛенивецПо-горячему лучше не делать - особенно на рабочем ресурсе. Что Вы имеете ввиду? По-горячему настраивать репликацию и переезжать с мастера на слейв?
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]