Сервер на Debian, СУБД - postgresPro-12. Сейчас на этом одном сервере 4 информационные базы (две Документооборот и 2 ERP, они в одном кластере). Делаем бэкапы с помощью pg_probackup.
pg_probackup делает бэкап ВСЕХ баз вместе и если нужно восстановиться, то восстанавливает ВСЕ четыре. Есть ли возможность настроить бэкапы так, чтобы была возможность восстанавливать по 1 базе? Например, если нужно одну базу откатить на вчерашний день или на какой-то момент времени до критической ошибки, но остальные базы не трогать.
Может не pg_probackup, а какой-то другой инструмент это умеет? Требуется, чтобы была возможность по 1 базе восстанавливать к нужной точке во времени.
pg_probackup делает бэкап ВСЕХ баз вместе и если нужно восстановиться, то восстанавливает ВСЕ четыре. Есть ли возможность настроить бэкапы так, чтобы была возможность восстанавливать по 1 базе? Например, если нужно одну базу откатить на вчерашний день или на какой-то момент времени до критической ошибки, но остальные базы не трогать.
Может не pg_probackup, а какой-то другой инструмент это умеет? Требуется, чтобы была возможность по 1 базе восстанавливать к нужной точке во времени.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Можете pg_probackup делать резервные копии для аварии например, а для ваших рабочих моментов использовать pg_dump.
(3) если авария всего сервера(физической машины), то тут понятно - мы всё восстанавливаем. Но если у меня проблемы с 1 базой (кто-то случайно удалил лишнее) и мне нужно откатить конкретно эту базу на три часа назад, то мне pg_dump не поможет, он не поддерживает восстановление к точке во времени. К тому же, нужно параллельно поддерживать 2 вида бэкапов (делать регулярно и pg_dump, и pg_probackup)
(5)Не пользовался pg_probackup, это платная утилита?, спрашиваю т.к. утверждается, что pg_probackup позволяет частичное восстановление, вы же читали документацию?
Если вы подготовились к частичному восстановлению до того, как сделали резервную копию, вы можете восстановить только некоторые базы данных, используя параметры частичного восстановления с командой restore.
Чтобы восстановить только некоторые базы данных, выполните команду restore как минимум со следующими параметрами:
pg_probackup restore -B backup_dir --instance имя_экземпляра --db-include=имя_базы
Чтобы восстановить только некоторые базы данных, выполните команду restore как минимум со следующими параметрами:
pg_probackup restore -B backup_dir --instance имя_экземпляра --db-include=имя_базы
(9) папка, в которую идет восстановление, должна быть пуста. то есть я удалю 4 базы, а восстановлю одну. Или мне нужно восстанавливать в другое место одну базу, а потом ее переносить, как предлагает ниже redfred :
Хочется найти решение проще, если оно есть.
Утилита бесплатная
8. redfred 28.10.22 09:08
Как вариант - разворачивать на промежуточном сервере весь кластер на нужный момент времени и уже там делать дамп конкретной базы
Как вариант - разворачивать на промежуточном сервере весь кластер на нужный момент времени и уже там делать дамп конкретной базы
Хочется найти решение проще, если оно есть.
Утилита бесплатная
Как вариант - разворачивать на промежуточном сервере весь кластер на нужный момент времени и уже там делать дамп конкретной базы
(7) Поискать "run two instances postgres" пример
postgresql.conf указать порт и прочие настройки безопасности и производительности
Добавить пользователя
postgres=# CREATE USER postgres SUPERUSER;
postgres=# ALTER USER postgres PASSWORD 'КрепкийПароль';
Настроить подключение с сервера 1с на нужный порт
Бэкап
pg_basebackup -stream -p 5444 -U %PGUSER% --format=tar -z -D %PGBACKUP% -P 2>%LOGPATH%
postgresql.conf указать порт и прочие настройки безопасности и производительности
Добавить пользователя
postgres=# CREATE USER postgres SUPERUSER;
postgres=# ALTER USER postgres PASSWORD 'КрепкийПароль';
Настроить подключение с сервера 1с на нужный порт
Бэкап
pg_basebackup -stream -p 5444 -U %PGUSER% --format=tar -z -D %PGBACKUP% -P 2>%LOGPATH%
Прикрепленные файлы:
pg_dump — это программа для создания резервных копий базы данных Postgres Pro. Она создаёт целостные копии, даже если база параллельно используется. Программа pg_dump не препятствует доступу других пользователей к базе данных (ни для чтения, ни для записи).
Программа pg_dump выгружает только одну базу данных. Чтобы сохранить глобальные объекты, относящиеся ко всем базам в кластере, например, роли и табличные пространства, воспользуйтесь программой........
Программа pg_dump выгружает только одну базу данных. Чтобы сохранить глобальные объекты, относящиеся ко всем базам в кластере, например, роли и табличные пространства, воспользуйтесь программой........
pg_probackup — это утилита для управления резервным копированием и восстановлением кластеров баз данных Postgres Pro. Она предназначена для регулярного создания резервных копий экземпляра
"C:\Program Files\PostgreSQL\11.10-2.1C\bin\pg_dump.exe" --host localhost --port 5432 --username "postgres" --role "postgres" --no-password --format custom --blobs --section pre-data --section data --section post-data --encoding UTF8 --verbose --file "C:\1cBackupNew\BP_backup_%date:~6,4%-%date:~3,2%-%date:~0,2%.backup" "BP"
"старик" будет - он вам ссылку на свою публикацию оставит
я не готов сейчас ее дать, не пользовался....
обучение и пример
я не готов сейчас ее дать, не пользовался....
обучение и пример
(20)
обучение и пример
За пример спасибо. Сценарий отличный, но он делает только pg_dump. То есть если я делаю бэкапы ночью, то и восстановиться могу только на состояние последней ночи. Это хорошо, но передо мной стоит задача восстанавливаться к определенному времени. Если сотрудник напортачил и удалил документ в конце рабочего дня в 17:30, нужно и восстанавливать базу в состояние 17:20 (или 17:00), но не в состояние ночного бэкапа (результат целого дня работы будет потерян).
обучение и пример
За пример спасибо. Сценарий отличный, но он делает только pg_dump. То есть если я делаю бэкапы ночью, то и восстановиться могу только на состояние последней ночи. Это хорошо, но передо мной стоит задача восстанавливаться к определенному времени. Если сотрудник напортачил и удалил документ в конце рабочего дня в 17:30, нужно и восстанавливать базу в состояние 17:20 (или 17:00), но не в состояние ночного бэкапа (результат целого дня работы будет потерян).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
