mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Correct several behavior descriptions in comments.
Reuse cautionary language from src/test/ssl/README in src/test/kerberos/README. SLRUs have had access to six-character segments names since commit73c986adde
, and recovery stopped calling HeapTupleHeaderAdvanceLatestRemovedXid() in commit558a9165e0
. The other corrections are more self-evident.
This commit is contained in:
@ -635,12 +635,11 @@ be reconstructed later following a crash and the action is simply a way
|
||||
of optimising for performance. When a hint is written we use
|
||||
MarkBufferDirtyHint() to mark the block dirty.
|
||||
|
||||
If the buffer is clean and checksums are in use then
|
||||
MarkBufferDirtyHint() inserts an XLOG_FPI record to ensure that we
|
||||
take a full page image that includes the hint. We do this to avoid
|
||||
a partial page write, when we write the dirtied page. WAL is not
|
||||
written during recovery, so we simply skip dirtying blocks because
|
||||
of hints when in recovery.
|
||||
If the buffer is clean and checksums are in use then MarkBufferDirtyHint()
|
||||
inserts an XLOG_FPI_FOR_HINT record to ensure that we take a full page image
|
||||
that includes the hint. We do this to avoid a partial page write, when we
|
||||
write the dirtied page. WAL is not written during recovery, so we simply skip
|
||||
dirtying blocks because of hints when in recovery.
|
||||
|
||||
If you do decide to optimise away a WAL record, then any calls to
|
||||
MarkBufferDirty() must be replaced by MarkBufferDirtyHint(),
|
||||
|
@ -367,12 +367,13 @@ SetTransactionIdLimit(TransactionId oldest_datfrozenxid, Oid oldest_datoid)
|
||||
* We'll refuse to continue assigning XIDs in interactive mode once we get
|
||||
* within 3M transactions of data loss. This leaves lots of room for the
|
||||
* DBA to fool around fixing things in a standalone backend, while not
|
||||
* being significant compared to total XID space. (Note that since
|
||||
* vacuuming requires one transaction per table cleaned, we had better be
|
||||
* sure there's lots of XIDs left...) Also, at default BLCKSZ, this
|
||||
* leaves two completely-idle segments. In the event of edge-case bugs
|
||||
* involving page or segment arithmetic, idle segments render the bugs
|
||||
* unreachable outside of single-user mode.
|
||||
* being significant compared to total XID space. (VACUUM requires an XID
|
||||
* if it truncates at wal_level!=minimal. "VACUUM (ANALYZE)", which a DBA
|
||||
* might do by reflex, assigns an XID. Hence, we had better be sure
|
||||
* there's lots of XIDs left...) Also, at default BLCKSZ, this leaves two
|
||||
* completely-idle segments. In the event of edge-case bugs involving
|
||||
* page or segment arithmetic, idle segments render the bugs unreachable
|
||||
* outside of single-user mode.
|
||||
*/
|
||||
xidStopLimit = xidWrapLimit - 3000000;
|
||||
if (xidStopLimit < FirstNormalTransactionId)
|
||||
|
Reference in New Issue
Block a user