I finally committed the new version of the FSM rewrite, after fixing the latest round of Tom's comments. There's a few loose ends I'm going to address as subsequent patches:

pg_relation_size() doesn't include the size of the FSM. Should it? I'm thinking "no", but pg_total_relation_size() should.

The FSM is not updated during WAL replay. That means that after crash recovery, the FSM won't be completely up-to-date, but at roughly the state it was at last checkpoint. In a warm stand-by, the FSM will reflect the situation at last full backup. We need to think when the FSM should be updated during WAL replay. Probably not after every record, because of the overhead, but certainly more often than never.

VACUUM VERBOSE output no longer prints the number of pages with "usable free space", because we no longer track such a value during the vacuum. You can use contrib/pg_freespacemap to view the contents of the FSM in detail, but should VACUUM VERBOSE still print something about the amount of free space on the relation? Perhaps the total amount of free space in the relation?

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to