At Fri, 11 Sep 2020 17:36:19 +0900 (JST), Kyotaro Horiguchi <horikyota....@gmail.com> wrote in > At Fri, 11 Sep 2020 05:15:32 +0000, "tsunakawa.ta...@fujitsu.com" > <tsunakawa.ta...@fujitsu.com> wrote in > > From: Peter Smith <smithpb2...@gmail.com> > > On Thu, Sep 10, 2020 at 7:16 PM tsunakawa.ta...@fujitsu.com > > > <tsunakawa.ta...@fujitsu.com> wrote: > > > > ALTER TABLE takes long time proportional to the amount of existing data, > > > while wal_level = none doesn't. > > > > > > Right, but if wal_level=none is considered OK for that table with > > > existing data, then why not just create the table UNLOGGED in the > > > first place? (or ALTER it to set UNLOGGED just one time and then leave > > > it as UNLOGGED). > > > > The target tables sometimes receive updates (for data maintenance and/or > > correction). They don't want those updates to be lost due to the database > > server crash. Unlogged tables lose their entire contents during crash > > recovery. > > > > Please think like this: logging is is the norm, and unlogged operations are > > exceptions/hacks for some requirement of which the user wants to minimize > > the use. > > I suspect that wal_level=none is a bit too toxic. > > "ALTER TABLE SET UNLOGGED" doesn't dump large amount of WAL so I don't > think it can be a problem. "ALTER TABLE SET LOGGED" also doesn't issue
(Oops! this runs a table copy) > WAL while wal_level=minimal but runs a table copy. I think the only > problem of the UNLOGGED table method is that table copy. > > If we can skip the table-copy when ALTER TABLE SET LOGGED on > wal_level=minimal, is your objective achived? -- Kyotaro Horiguchi NTT Open Source Software Center