Renaming table within transaction and keeping in-sync during swap

We just shipped 8.9 which supports updatable views. You can now have a view that points to your desired table, then prepare a new table with modified data, and ALTER the view to point to the new table. You can both read and update the data (within limits) via the view name, that can stay the same every day.