On Fri, Apr 3, 2020 at 9:35 AM Dilip Kumar <dilipbal...@gmail.com> wrote: > > On Fri, Apr 3, 2020 at 9:17 AM Dilip Kumar <dilipbal...@gmail.com> wrote: > > > > On Fri, Apr 3, 2020 at 9:02 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > > > On Fri, Apr 3, 2020 at 8:55 AM Dilip Kumar <dilipbal...@gmail.com> wrote: > > > > > > > > I think now I got the reason. Basically, both of these records are > > > > storing the FPW, and FPW size can vary based on the hole size on the > > > > page. If hold size is smaller the image length will be more, the > > > > image_len= BLCKSZ-hole_size. So in subsequent records, the image size > > > > is bigger. > > > > > > > > > > This means if we always re-create the database or may be keep > > > full_page_writes to off, then we should get consistent WAL usage data > > > for all tests. > > > > With new database, it is always the same. But, with full-page write, > > I could see one of the create index is writing extra wal and if we > > change the older then the new create index at that place will write > > extra wal. I guess that could be due to a non-in place update in some > > of the system tables. > > I have analyzed the WAL and there could be multiple reasons for the > same. With small data, I have noticed that while inserting in the > system index there was a Page Split and that created extra WAL. >
Thanks for the investigation. I think it is clear that we can't expect the same WAL size even if we repeat the same operation unless it is a fresh database. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com