Re: Defaults for replication/backup - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Defaults for replication/backup
Date
Msg-id 20160213163108.GE29473@awork2.anarazel.de
Whole thread Raw
In response to Re: Defaults for replication/backup  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Defaults for replication/backup  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On 2016-02-13 11:10:58 -0500, Tom Lane wrote:
> Magnus Hagander <magnus@hagander.net> writes:
> > The big thing is, IIRC, that we turn off the optimizations in
> > min_wal_level. *most* people will see no impact of their regular
> > application runtime from that, but it might definitely have an effect on
> > data loads and such. For normal runtime, there should be very close to zero
> > difference, no?
> 
> I was asking for a demonstration of that, not just handwaving.  Even if
> it was measured years ago, I wouldn't assume the comparison would be
> the same on current Postgres.

Well, let's look at what the difference between wal_level's are:
1) the (currently broken) optimization of not WAL logging COPY et al,  for newly created relations.
2) relation AccessExclusiveLocks are WAL logged on >= hot_standby
3) Subtransaction assignment records are generated for >= hot_standby  after 64 records.
4) checkpoints and bgwriter occasionally generate XLOG_RUNNING_XACTS  records
5) btreevacuum() and _bt_getbuf() sometimes do additional WAL logging on  >= hot_standby
6) Once per vacuum we issue a XLOG_HEAP2_CLEANUP_INFO


1) obviously can have performance impact; but only in a relatively
narrow set of cases. I doubt any of the others really play that major a
role.  But I really think minor efficiency differences are besides the
point. Making backups and replication easier has a far bigger positive
impact, for far more users.

- Andres



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Defaults for replication/backup
Next
From: Yury Zhuravlev
Date:
Subject: Re: Crash with old Windows on new CPU