powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
9 сообщений из 9, страница 1 из 1
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
    #35268139
holem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, друзья.
В связи с развитием проекта, возникла острая необходимость обновления базы до версии 8.3 (впечатлили результаты тестирования - особенно в части работы с дисковой подсистемой) и смена её кодировки на unicode (в целях создания мультиязычности).
Погуглив, нашел нехитрый способ это сделать: сделать дамп, дропнуть старую базу, создать новую в юникоде и заресторить уже в новую базу. Однако при этом необходимо останавливать работу субд, а соответственно и ресурса, что недопустимо. Причем размер базы данных очень велик, а значит время переезда на юникод увеличивается, что увеличивает простой ресурса.
Неужели никак нельзя сделать "по-горячему", без остановки работы субд? Может быть кто-то уже сталкивался с подобной задачей и может поделиться опытом? Или просто есть идеи как это проще сделать?
Спасибо!
...
Рейтинг: 0 / 0
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
    #35268260
Thamerlan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно через репликацию SLONY. Создадите slave базу (8.3), потом сделаете switchover и отключите старый master (8.1). Время простоя ~ 5 минут на switchover.
...
Рейтинг: 0 / 0
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
    #35268450
holem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, можно, но к сожалению таким образом можно обновить субд до версии 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
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
    #35268916
Thamerlan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дока 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
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
    #35281126
holem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Thamerlan , огромное спасибо.
Еще один вопрос: возможен ли запуск 2-х серверов postgres на одном физическом сервере? Просто у нас всего один сервер для базы, хотелось бы просто запустить 8.3 там же, сделать репликацию и потом убрать старый 8.1. И если так можно, то во нагрузка на этом сервере, получается, возрастет в 2 раза?
...
Рейтинг: 0 / 0
Переезд 8.1 -> 8.3 и смена кодировки latin1 -> unicode
    #35281332
Thamerlan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
holem
Еще один вопрос: возможен ли запуск 2-х серверов postgres на одном физическом сервере? Просто у нас всего один сервер для базы, хотелось бы просто запустить 8.3 там же, сделать репликацию и потом убрать старый 8.1. И если так можно, то во нагрузка на этом сервере, получается, возрастет в 2 раза?

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

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


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