Подставьте имя базы и каталог, выберите способ. На выходе команда для бэкапа прямо сейчас, проверка восстановлением, скрипт с чисткой старых бэкапов и расписание. Три способа: медленный и универсальный дамп, быстрый бэкап файлов целиком и инкрементальный pg_probackup.
Включите JavaScript, чтобы увидеть команды.
Бэкап на том же диске, что и база, спасает только от ошибки человека. От отказа диска или сервера он не защищает. Выносите каталог на другой сервер или в хранилище и раз в квартал восстанавливайтесь из бэкапа на отдельном стенде с замером времени.
Способы различаются тем, что именно сохраняется, сколько это занимает и до какого момента можно вернуться.
Дамп выгружает содержимое одной базы в виде данных и команд для их создания. Его можно восстановить на другой версии PostgreSQL, на другом сервере и даже в другой операционной системе. Рабочей системе он не мешает: читает согласованный снимок на момент запуска.
Цена этого: скорость. Данные читаются построчно, а при восстановлении заново строятся все индексы. У нас база на 15 ГБ выгружается в четыре потока около четырёх минут, восстановление занимает в несколько раз больше. Для баз в сотни гигабайт дамп остаётся средством переноса, а не ежедневного бэкапа. Вернуться можно только на момент запуска дампа.
Копируются файлы всего сервера баз данных как есть, блоками, вместе с журналом за время копирования. Это в разы быстрее дампа, а восстановление сводится к распаковке файлов: индексы строить не нужно.
Ограничения: копируется весь сервер со всеми базами, одну базу выбрать нельзя. Восстановить можно только на ту же основную версию PostgreSQL. Каждый бэкап полный, поэтому места нужно столько же, сколько занимает сервер баз, на каждый день хранения.
Утилита от Postgres Professional, работает и с ванильным PostgreSQL. Раз в неделю делает полный бэкап, в остальные дни сохраняет только изменившиеся блоки. Сама следит за сроком хранения, проверяет целостность и умеет восстанавливать на произвольный момент времени, если настроен архив журнала.
Это выбор для баз от сотни гигабайт и для систем, где потерять день работы нельзя. Плата: её нужно установить и один раз настроить каталог бэкапов.
Дамп одной базы не содержит ролей и их паролей: они общие для сервера. Без них восстановленная база окажется без владельцев и прав. Поэтому в командах рядом с дампом базы всегда идёт выгрузка pg_dumpall --globals-only.
В базе Directum RX лежат карточки, задачи и права. Сами файлы документов обычно хранятся отдельно: в файловом хранилище или в S3. Бэкап базы без бэкапа хранилища даёт карточки без содержимого. Копировать их нужно согласованно: сначала базу, затем хранилище.
Оба варианта рабочие. Таймер удобнее в трёх вещах. Пропущенный из-за выключенного сервера запуск выполнится после включения. Вывод скрипта попадает в журнал, и его видно командой journalctl. В описании службы задаётся пониженный приоритет процессора и диска, чтобы бэкап не мешал ночным заданиям системы.
Как проверить бэкап учебным восстановлением и что записать в протокол. Разбор в блоге
Настройки самой базы под ваш сервер. Калькулятор настроек PostgreSQL