I am trying to understand the use case for UNLOGGED tables in PG. I am
specifically talking about normal tables which need to be turned into UNLOGGED
for a specific purpose like bulk loading because generating WAL logs during the
load makes no sense, even when we take into consideration that this generally
breaks replication.
Typically work flow is:
1. Turn off logging on the table.
2. Load a large set of data using some bulk load tool.
3. Turn back logging.
Depending on RDBMS, some make (3) less painful and some make it painful by
rebuilding all indexes. DB2 is very good in that as the only
penalty you have is in step (2) when the table is locked exclusively.
With PG step (3) basically rebuilds entire table. Imagine a 500 million row
table, which got additional 30 million rows via a batch load. Does PG
rebuild entire 530 million rows ? Then what exactly is the benefit of UNLOGGED
tables, unless we have permanent unlogged tables for disposable
data.
thanks.