от мастера всех, потом pg_dump - - only-seq и залить их в новый сервер и только после переключиться уже на новый сервер?
Неужели нет каких нить грязных лайфхаков?
Отключить всех от мастера и нагнать в любом случае нужно, конечно. Потом можно дампом, конечно — но зачем, когда можно процэдуру внутри БД написать?
Можете подсказать как именно? 🥺 Я совсем дно 🤦🏻♂
Что из этого "как именно"?
Процедуру, что б дампом не вытягивать Я пробовал так - pg_dump -d dbname --data-only -t '*_seq' Но безуспешно, не помогло, seq не перенеслись
В дампе вроде отдельная опцыя для последовательностей. А так — SELECT setval('table_id_seq', (SELECT max(id)+1 FROM table)); Повторять для каждой реплицырованной таблицы.
Ок, а как эти значения залить в новую базу? 🙈
Так это в новой базе надо делать, после того как от ведущего все отключены и новая догнала ведущего.
Хм, сейчас попробовал. Отключил реплику от мастера и currval по таблицам отличается :/ SELECT last_value FROM orders.productpricemodifier_id_seq; 1. На мастере в одной таблице 1567 2. А на реплике выдаёт 2 Ок, спасибо, пойду домой и почитаю, что-то делаю не так
Так логическая реплика-то...
Тут или выспаться надо или дба/программиста нанять.
Обсуждают сегодня