forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit947789f
committed
Avoid using tuple from syscache for update of pg_database.datfrozenxid
pg_database.datfrozenxid gets updated using an in-place update at theend of vacuum or autovacuum. Since96cdeae, as pg_database has a toastrelation, it is possible for a pg_database tuple to have toast valuesif there is a large set of ACLs in place. In such a case, the in-placeupdate would fail because of the flattening of the toast values done forthe catcache entry fetched. Instead of using a copy from the catcache,this changes the logic to fetch the copy of the tuple by directlyscanning pg_database.Per the lack of complaints on the matter, no backpatch is done. Notethat before96cdeae, attempting to insert such a tuple to pg_databasewould cause a "row is too big" error, so the end-of-vacuum problem wasnot reachable.Author: Ashwin Agrawal, Junfeng YangDiscussion:https://postgr.es/m/DM5PR0501MB38800D9E4605BCA72DD35557CCE10@DM5PR0501MB3880.namprd05.prod.outlook.com1 parent0a665bb commit947789f
2 files changed
+22
-2
lines changedLines changed: 4 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
5710 | 5710 |
| |
5711 | 5711 |
| |
5712 | 5712 |
| |
| 5713 | + | |
| 5714 | + | |
| 5715 | + | |
| 5716 | + | |
5713 | 5717 |
| |
5714 | 5718 |
| |
5715 | 5719 |
| |
|
Lines changed: 18 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1361 | 1361 |
| |
1362 | 1362 |
| |
1363 | 1363 |
| |
| 1364 | + | |
1364 | 1365 |
| |
1365 | 1366 |
| |
1366 | 1367 |
| |
| |||
1479 | 1480 |
| |
1480 | 1481 |
| |
1481 | 1482 |
| |
1482 |
| - | |
1483 |
| - | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
1484 | 1499 |
| |
1485 | 1500 |
| |
| 1501 | + | |
1486 | 1502 |
| |
1487 | 1503 |
| |
1488 | 1504 |
| |
|
0 commit comments
Comments
(0)