Комментарии 6
Удивительное дело, вот уже лет 15 ситуация с бэкапами у "стандарнтного" PG не меняется ни капли, как их не было, так и нет. При том что продукт невероятно успешный и распространенный. pg_dump - не бэкап, это средство переноса баз на другой инстанс ровно той же версии ровно с теми же настройками. Бэкап для СУБД - это когда необязательно монопольно, не только вся база, можно только накопленные изменения, возможность поднять в любом инстансе не старее источника, на любую точку времени. И без необходимости проверять каждый раз, поднимется оно вообще, или нет, сработало оно вообще, или сеанс пользователя подвис.
Неужели это так сложно? Вроде же понятно, как такое сделать, и очень нужно.
Backup у PG - не монопольно, можно только накопленные изменения (WALs), можно поднять в любом instance не старее источника на любую точку времени. Нет только одного - backup отдельной базы. pg_dump + pg_restore - это не backup.
Это сторонний софт, в котором нужно разбираться, который совместим с некоторыми версиями, некоторыми бранчами, для некоторых платформ, под какими-то лицензиями, иногда бесплатными.
Я хочу встроенную в базовый дистрибутив родную систему бэкапов. Надежную и доверенную не меньше, чем весь остальной движок. Не может быть СУБД без бэкапов, это как докупать двигатель к машине у другой конторы через дорогу.
Согласен по терминологии: pg_dump это логическая выгрузка, а не бэкап в смысле базовой копии с архивом WAL, откуда базу можно поднять на любую точку времени. Статья про более узкую вещь: ночной дамп падал на row-level security и оставлял недописанный файл, который выглядел как бэкап. Физическая копия от этой ловушки как раз не страдает, тут вы правы.
Для небольших баз с суточной точкой восстановления дампа часто хватает, для остальных нужен base backup плюс WAL (pgBackRest, Barman). Но и там поднимать копию на отдельном инстансе стоит регулярно: дыра в архиве WAL или битая базовая копия находятся только так. @alexeyparshin, про отдельную базу согласен, из физической копии её не достать, нужен временный инстанс.

Бэкап был, восстановить было нечего: как pg_dump молча собирал битые дампы из‑за row‑level security