First, I will talk about the current state of affairs. We have a several approaches:
-
Scan all db files and compare page LSN (barman, pg_rman). If you have big db it is not your choice.
-
Scan archive WAL files (current pg_arman). If you have high load it is not oyur choice too. (Big databases rarely living without high load.)
-
Pages are tracked using bitmap during runtime, so the needed ones can be easily dumped. (Oracle and my ptrack (patches for postgres and pg_arman)) It's really your choice.