diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-04-11 18:11:30 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-04-11 18:11:30 -0400 |
commit | 6943fb9275a50f3a9d177da1a06ea387bf490ead (patch) | |
tree | 7db4311e84c4aba1514dae7b9eef6848258835e6 /src/backend/commands/variable.c | |
parent | 5b3ed6b7880b88a355bf809dad83cbe7cbc49316 (diff) |
Ignore nextOid when replaying an ONLINE checkpoint.
The nextOid value is from the start of the checkpoint and may well be stale
compared to values from more recent XLOG_NEXTOID records. Previously, we
adopted it anyway, allowing the OID counter to go backwards during a crash.
While this should be harmless, it contributed to the severity of the bug
fixed in commit 0408e1ed5, by allowing duplicate TOAST OIDs to be assigned
immediately following a crash. Without this error, that issue would only
have arisen when TOAST objects just younger than a multiple of 2^32 OIDs
were deleted and then not vacuumed in time to avoid a conflict.
Pavan Deolasee
Discussion: https://postgr.es/m/CABOikdOgWT2hHkYG3Wwo2cyZJq2zfs1FH0FgX-=h4OLosXHf9w@mail.gmail.com
Diffstat (limited to 'src/backend/commands/variable.c')
0 files changed, 0 insertions, 0 deletions