On 01/22/2015 09:20 PM, Bruce Momjian wrote:
> One question I have is whether hint bits are set by read-only
> transactions on standby servers.
No. See comments in MarkBufferDirtyHint:
> /*
> * If we need to protect hint bit updates from torn writes, WAL-log a
> * full page image of the page. This full page image is only necessary
> * if the hint bit update is the first change to the page since the
> * last checkpoint.
> *
> * We don't check full_page_writes here because that logic is included
> * when we call XLogInsert() since the value changes dynamically.
> */
> if (XLogHintBitIsNeeded() && (bufHdr->flags & BM_PERMANENT))
> {
> /*
> * If we're in recovery we cannot dirty a page because of a hint.
> * We can set the hint, just not dirty the page as a result so the
> * hint is lost when we evict the page or shutdown.
> *
> * See src/backend/storage/page/README for longer discussion.
> */
> if (RecoveryInProgress())
> return;
- Heikki