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

Всем привет. подскажите пожалуйста как делать инкрементальные бэкапы postgresql (v13).

делаю каждые сутки полный бэкап через pg_basebackup, нужно каждый час делать инкрементальный бэкап и удалять старые инкрементальные бэкапы которые старше недели (полные бэкапы оставлять). собственно вопрос в том, что если в archive_command просто просать cp, то как потом понять какие wal-файлы удалять безопасно и данные уже включены в полные бэкапы?

5 ответов

16 просмотров

Никакие архивные WAL с предыдущего полного pg_basebackup удалять нельзя если вы хотите, чтобы можно было что-то восстановить до следующего полного pg_basebackup. Если восстановление в середине между полными бэкапами не требуется -- то можно удалять всё, что там cp в archive_command накопировало.

Инкрементальные бэкапы разных уровней, как бывает для fs, не поддержываются: только полный и всё, что было с полного.

Sergey- Автор вопроса
Ilya Anfimov
Инкрементальные бэкапы разных уровней, как бывает ...

как понять какие wal надо сохранить чтобы можно было восстановиться по полному + wal-ом, если нужно восстановиться с минимальной потерей (не более часа) данных

Sergey
как понять какие wal надо сохранить чтобы можно бы...

To make use of the backup, you will need to keep all the WAL segment files generated during and after the file system backup. To aid you in doing this, the base backup process creates a backup history file that is immediately stored into the WAL archive area. This file is named after the first WAL segment file that you need for the file system backup. For example, if the starting WAL file is 0000000100001234000055CD the backup history file will be named something like 0000000100001234000055CD.007C9330.backup. (The second part of the file name stands for an exact position within the WAL file, and can ordinarily be ignored.) Once you have safely archived the file system backup and the WAL segment files used during the backup (as specified in the backup history file), all archived WAL segments with names numerically less are no longer needed to recover the file system backup and can be deleted. However, you should consider keeping several backup sets to be absolutely certain that you can recover your data. The backup history file is just a small text file. It contains the label string you gave to pg_basebackup, as well as the starting and ending times and WAL segments of the backup. If you used the label to identify the associated dump file, then the archived history file is enough to tell you which dump file to restore. from https://www.postgresql.org/docs/13/continuous-archiving.html

Sergey- Автор вопроса
Ilya Anfimov
To make use of the backup, you will need to keep a...

То что нужно, спасибо большое

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта