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.




Reply via email to