172 похожих чатов

Добрый день! Подскажите как наиболее быстро и "правильно" перенести BD

с одного сервера на другой.
Размер BD около 100GB
Время простоя до часа допускается!
Смотрю в сторону pg_basebackup
Или это сильно извращенно будет для данной задачи?
Спасибо!

7 ответов

15 просмотров

https://t.me/pgsql/335316

У для похожего размера БД хорошо сработал pg_dump. Дамп в 6 потоков (сколько не жалко ядер) занял минут 10, сам дамп в формате tgz — около 10 Гб, восстановление — около часа. Кажется, восстановление можно тоже делать в несколько потоков. В pg_basebackup я честно пытался, но не смог правильно приготовить перенос журналов.

Ķ₳ℝḾ₳- Автор вопроса
Павел Сутырин
У для похожего размера БД хорошо сработал pg_dump....

Это перенос BD Zabbix, боюсь что долго будет этим всем заниматься pg_dump...

Ķ₳ℝḾ₳
Это перенос BD Zabbix, боюсь что долго будет этим ...

ну вот у меня было несколько таблиц с десятками миллионов записей.

настроить между ними репликацию. Если версии пг одинаковые - то физическую. Если разные, то логическую. После синка, отрубаем клиентов на основном сервера(можно запретить дополнительно коннекты к базе, чтобы новые коннекты не успели ничего закоммитить), и промоутим реплику до мастера(если физическая реплика). Если логическая - синкануть сиквенсы. Меняем днс или настрокий приложений на новый адрес. Простой - минут 5

Павел Сутырин
У для похожего размера БД хорошо сработал pg_dump....

проблема с pg_dump в том, что рестор занимает непредсказуемое время, в отличие от pg_basebackup, время которого пропорционально размеру БД. Сам переносил БД в датацентр с другим уровнем допуска, не помню, чтобы были какие-либо проблемы с журналами: сначала накатили на новом месте БД с нуля (без рабочих пользовательских данных), а также остальную инфраструктуру, проверили, что всё работали, затем, в день миграции, остановили все сервисы на обоих площадках и postgres на новом сервере, переименовали директорию с кластером, на старом выполнили checkpoint (не факт, что это нужно было), через заранее открытый порт скопировали старый кластер на новый сервер через pg_basebackup, удалили инфу о бекапе и всё запустили. Собственно, при подготовке плана миграции потребовалась только дока на pg_basebackup.

для меньшего простоя надо реплику делать. и при переносе ее промотить и переключать запросы на нее

Похожие вопросы

Обсуждают сегодня

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Дорогие любители Прекрасной Джулии! Есть кто-то имеющий практический опыт построения ML для Систем Управления? Нам нужно сделать нейросеть для автоматической подстройки пара...
Roman Timo
4
С той же поддержкой Android в тулчейне, если кому интересно. На Swift Forums шло убогое обсуждение всякой херни годами, но ничего годного так и не появлялось. Пришел vgorloff ...
iMike
1
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Приветствую ребята,у меня база есть,прорешал много задач с литкода,там деревья,списки, бэктрэкинг и все остальное,что мне сейчас делать?есть может куда устроиться поработать,е...
Aקuст Lеתסuд Aקuст Lеתסuд
5
Всех приветствую. Направьте меня в нужное русло. Постепенно переписываю проект с delphi на lazarus. Приложение - обычный windows/linux клиент для бд firebird. Тут все хорошо. ...
Mishutka
7
Карта сайта