Re: Question about unlogged to logged conversion - Mailing list pgsql-general

From Michael Paquier
Subject Re: Question about unlogged to logged conversion
Date
Msg-id 20181227230240.GC2196@paquier.xyz
Whole thread Raw
In response to Re: Question about unlogged to logged conversion  (Ravi Krishna <srkrishna@fastmail.com>)
List pgsql-general
On Thu, Dec 27, 2018 at 05:52:14PM -0500, Ravi Krishna wrote:
> Unlogged tables are not stored in the catalog like a regular table. When
> it is converted to a logged table , the entire operation is logged (goes
> into wal logs) in one single transaction, blocking the entire table
> during the process. IMO this makes unlogged -> logged workflow not a
> right fit for large tables.  In other products I have used, large tables
> are set to unlogged mode before bulk load and then set back to normal
> logged mode.

If you are interested of how things happen at code level, you can grep
for INIT_FORKNUM, which is the initial state of an unlogged table used
when doing crash recovery.  And while the main fork's data is never
WAL-logged, this initial fork needs to be included in WAL.
--
Michael

Attachment

pgsql-general by date:

Previous
From: Ravi Krishna
Date:
Subject: Re: Question about unlogged to logged conversion
Next
From: Igor Korot
Date:
Subject: libpq bug?