RE: Disable WAL logging to speed up data loading
От | osumi.takamichi@fujitsu.com |
---|---|
Тема | RE: Disable WAL logging to speed up data loading |
Дата | |
Msg-id | OSBPR01MB48880C68379FAEA36E561377ED300@OSBPR01MB4888.jpnprd01.prod.outlook.com обсуждение исходный текст |
Ответ на | Re: Disable WAL logging to speed up data loading (Kyotaro Horiguchi <horikyota.ntt@gmail.com>) |
Ответы |
Re: Disable WAL logging to speed up data loading
|
Список | pgsql-hackers |
Hi, Horiguchi-San and Fujii-San. Thank you so much both of you. > > the table needs to be rewriitten. One idea for that is to improve that > > command so that it skips the table rewrite if wal_level=minimal. > > Of course, also you can change wal_level after marking the table as > > unlogged. > > tablecmd.c: The idea is really interesting. I didn't come up with getting rid of the whole copy of the ALTER TABLE UNLOGGED/LOGGED commands only when wal_level='minimal'. > > * There are two reasons for requiring a rewrite when changing > > * persistence: on one hand, we need to ensure that the buffers > > * belonging to each of the two relations are marked with or without > > * BM_PERMANENT properly. On the other hand, since rewriting creates > > * and assigns a new relfilenode, we automatically create or drop an > > * init fork for the relation as appropriate. Thanks for sharing concrete comments in the source code. > According to this comment, perhaps we can do that at least for > wal_level=minimal. When I compare the 2 ideas, one of the benefits of this ALTER TABLE 's improvement is that we can't avoid the downtime while that of wal_level='none' provides an easy and faster major version up via output file of pg_dumpall. Both ideas have good points. However, actually to modify ALTER TABLE's copy looks far more difficult than wal_level='none' and beyond my current ability. So, I'd like to go forward with the direction of wal_level='none'. Did you have strong objections for this direction ? Regards, Takamichi Osumi
В списке pgsql-hackers по дате отправления: