powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос таблиц из одной БД в другую в режиме бесперебойной работы
11 сообщений из 11, страница 1 из 1
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38709431
Ryuzaki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Вот проникся вопросом.
Есть сервер на котором была одна БД, потом решили перенести некоторые таблицы из неё в отдельную БД. Дампы не подходят, так как в таблицу постоянно чтото пишется и останавливать работу нельзя (продакшн). Каким образом можно это сделать? Я думал о копи или селект-инсерт, но может не в ту степь иду, так как не гуру в постгресе.
ОС: RHEL 6
PostgreSQL: 9.3.1

Посоветуйте что-нибудь дельное.
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38709434
Ryuzaki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ах да, еще такой ньюанс. Нужно будет сервис переключать на новую БД. Так вот как это сделать чтоб не возникло коллизий между переносом и новых инсертов?
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38709456
Sergei.Agalakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятный вопрос. Если только некоторые таблицы переносятся, то как можно перенести сервисы? 'Отдельная БД' - это отдельная база на том же сервере, или новый кластер на другом сервере?
Скорее всего вам надо почитать про репликацию, но с вашими требованиями о бесперебойной работе и незнанием Постгреса я бы вам глубоко рекомендовал заплатить денег людям, которые Постгрес знают, и сделают все, как надо. Заодно у них поучитесь. Лучшего совета у меня для вас нет.
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38709458
Ryuzaki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergei.AgalakovНепонятный вопрос. Если только некоторые таблицы переносятся, то как можно перенести сервисы?.
Несколько сервисов работают с разными таблицами, так вот несколько таблиц надо перенести в отдельную бд и соответствующий сервис переключить на эту бд.
Sergei.Agalakov'Отдельная БД' - это отдельная база на том же сервере, или новый кластер на другом сервере?
На том же сервере.
Sergei.AgalakovСкорее всего вам надо почитать про репликацию
А разве можно делать репликацию между двумя бд на одном сервере? Просто мануалы и примеры которые я находил и делал - это потоковая репликация между разными серверами.
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38709468
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RyuzakiДобрый день. Вот проникся вопросом.
Есть сервер на котором была одна БД, потом решили перенести некоторые таблицы из неё в отдельную БД. <>а зачем ?
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38709830
Ryuzaki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
эттаа зачем ?

Для упрощения выставлений. Мешают таблички в этой бд.
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38709975
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ryuzakiэттаа зачем ?

Для упрощения выставлений. Мешают таблички в этой бд.
?


-- я пока вижу один случай -- отсутствие возможности задать для advisory_lock своё, отдельное именное пространство. при этом я пока не проверял, что advisory лочит ресурс[ы] на уровне датабазы, а не всего инстанса. но собираюсь проверить. [проверил --pg_try_advisory_lock лочит на уровне БД.] Но и тут мне не нужно будет выносить таблички. мне нужно выносить вызов pg_advisory_lock-ов в отдельное соединение)
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38710268
nmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
nmk
Гость
Ryuzaki,

если я правильно вас понял, то для репликции одной таблицы можно воспользоваться, например, Londiste из SkyTools. насчет прозрачно переключить на новую бд, то тут предлагаю воспользоваться PgBouncer (если он подойет, конечно).
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38710308
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nmkRyuzaki,

если я правильно вас понял, то для репликции одной таблицы можно воспользоваться, например, Londiste из SkyTools. насчет прозрачно переключить на новую бд, то тут предлагаю воспользоваться PgBouncer (если он подойет, конечно).
любая асинхронная репликация (хоть готовая, хоть самописная) имеет лаги.
1:1 не гарантирован ничем.
Можно сделать " синхронную репликацию последних событий" -- самописными триггерами (с кладкой данных в "slave" через dblink). Зазор между стартом событийной репликации и исходными данными закрыть с помощю 1. COPY (до старта) . -- 2. далее стартовать триггера. --3. а вот чем исчислить/заполнить лаг между 1 и 2 -- вопрос.

самое главное -не понятно, зачем такой геморрой, и скорее всего он и не нужен. (т.е .это просто блажь)

да и переключение "мастера" без потерь - не факт что возможно будет придумать.
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38710404
nmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
nmk
Гость
qwwqлюбая асинхронная репликация (хоть готовая, хоть самописная) имеет лаги.
1:1 не гарантирован ничем.


про лаги я забыл совсем, но сам воркфлоу я подразумевал как

1. включить londiste
2. дождаться начальной синхронизации
3. сделать pause в pgbouncer
4. подождать когда реплика догонит (пустая очередь в pgq)
5. пустить нагрузку на новый сервер
...
Рейтинг: 0 / 0
Перенос таблиц из одной БД в другую в режиме бесперебойной работы
    #38710456
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
Ryuzaki...потоковая репликация между разными серверами.там, после двоеточия, можно порт указать. только, нафига на одном сервере?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос таблиц из одной БД в другую в режиме бесперебойной работы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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