Pull to refresh

Comments 6

В качестве дополнения, вполне себе официально одобренным способом является бэкап на уровне файловой системы (например, через бэкап снапшота btrfs или снимки дисков силами гипервизора).

Ну и про pg_dumpall можно сказать, что итоговый бэкап можно сразу через пайп передать на компрессию внешнего архиватора (например, упаковать в .tar-болл и пожать).

И в конце в итогах создаётся ощущение, что PostgreSQL не умеет делать непрерывный бэкап из коробки. Хотя тут можно написать про связку pg_basebackup и хранилище журналов (хотя бы отсылку на документацию раз это не рамках данной статьи). Да, такая система потребует обязательно настроенного мониторинга, т.к. для архивирования журналов нужен слот репликации! Но это вполне рабочий способ восстановления на нужный момент времени.

Про производительность BTRFS по сравнению с другими ФС ссылку разместил. Если снапшоты прям очень нужны, то почему бы и нет.

Про создание снапшотов на гипервизоре - идея такая себе. Снапшот это не бэкап.

Про pg_basebackup - знаю, но не использую. Проще выучить тот же Barman, там уже все есть.

Категорически не согласен с Вашим утверждением. Снапшоты, как я написал в первом комментарии, являются одним из официальных видов бэкапа:

An alternative file-system backup approach is to make a “consistent snapshot” of the data directory, if the file system supports that functionality (and you are willing to trust that it is implemented correctly).

Скорее всего, вы правы. Просто у меня есть неприятный опыт работы со снапшотами и резервными копиями виртуальных машин (с дисками). Наверное, это сыграло свою роль. Даже несмотря на то, что используется PBS, я все равно делаю бэкапы на уровне ОС. Просто мне так спокойнее. Как бы да, много времени уходит, но в случае чего мне же и потом по шапке прилетит.

Раньше до появления pg_basebackup для создания резервных копий использовали pg_dumpall, либо придумывали связки с pg_dump, чтобы сэкономить место, но в основном работали со сторонними продуктами.

Это о каких годах/версиях речь? Смотрю документацию, в 9.4 pg_basebackup уже был.

Также учтите, что утилита pg_basebackup бэкапит только данные. Так что конфигурационные файлы копируйте отдельно (а лучше просто заново поменять все параметры на новом конфиге).

pg_basebackup копирует всю PGDATA, вынесенные за пределы PGDATA файлы конфигурации - это особенности отдельных дистрибутивов Линукс.

Так, добавил небольшую историческую справку, которую я уже не помню то ли где-то прочитал, то ли где-то услышал. Согласен, лучше подобную бесполезную информацию не добавлять. Я не работал со старыми версиями, только один раз обновлял с 9.3 до 14.

За замечание про бэкап конфигов спасибо, учту.

Sign up to leave a comment.

Articles