Thank you for the feedback and suggestions! I rebased again; the patch no longer increments the controlfile/catalog version to make conflicts less likely.
I included the changes from 0004, and added a few other minor changes/fixes. I also found another issue while testing replication scenarios. To fix that, the counter is now based on the LSN, not the timeline, this is the most significant change compared to v3. Another open question I want to point out is that I found a pg_dump failure with --no-unlogged-table-data. For now I chose the option where this flag doesn't affect materialized views, as they are not tables, but I am not sure if this is the proper solution.
v4-0002-Replace-pg_class.relispopulated-with-epoch-capabl.patch
Description: Binary data
v4-0001-Add-durable-unlogged-reset-LSN-to-pg_control.patch
Description: Binary data
v4-0003-Add-unlogged-materialized-views.patch
Description: Binary data
