Greg Stark wrote: > The general shape of what I would like to see is some log which lists > where each checkpoint starts and ends and what blocks are modified > since the previous checkpoint. Then to generate an incremental backup > from any point in time to the current you union all the block lists > between them and fetch those blocks. There are other ways of using > this aside from incremental backups on disk too -- you could imagine a > replica that has fallen behind requesting the block lists and then > fetching just those blocks instead of needing to receive and apply all > the wal.
Hmm, this sounds pretty clever. And we already have the blocks touched by each record thanks to the work for pg_rewind (so we don't have to do any nasty tricks like the stuff Suzuki-san did for pg_lesslog, where each WAL record had to be processed individually to know what blocks it referenced), so it shouldn't be *too* difficult ... > It would also be useful for going in the reverse direction: look up > all the records (or just the last record) that modified a given block. Well, a LSN map is what I was suggesting. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers