forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commite28bb88
committed
Revert changes to CONCURRENTLY that "sped up" Xmin advance
This reverts commitd9d0762 "VACUUM: ignore indexing operationswith CONCURRENTLY".These changes caused indexes created with the CONCURRENTLY option tomiss heap tuples that were HOT-updated and HOT-pruned during the indexcreation. Before these changes, HOT pruning would have been preventedby the Xmin of the transaction creating the index, but because thischange was precisely to allow the Xmin to move forward ignoring thatbackend, now other backends scanning the table can prune them. This isnot a problem for VACUUM (which requires a lock that conflicts with aCREATE INDEX CONCURRENTLY operation), but HOT-prune can definitelyoccur. In other words, Xmin advancement was sped up, but at the cost ofcorrupting the resulting index.Regrettably, this means that the new feature in PG14 that RIC/CIC onvery large tables no longer force VACUUM to retain very old tuples goesaway. We might try to implement it again in a later release, but fornow the risk of indexes missing tuples is too high and there's no easyfix.Backpatch to 14, where this change appeared.Reported-by: Peter Slavov <pet.slavov@gmail.com>Diagnosys-by: Andrey Borodin <x4mmm@yandex-team.ru>Diagnosys-by: Michael Paquier <michael@paquier.xyz>Diagnosys-by: Andres Freund <andres@anarazel.de>Discussion:https://postgr.es/m/17485-396609c6925b982d%40postgresql.org1 parent16c80e7 commite28bb88
File tree
3 files changed
+7
-36
lines changed- doc/src/sgml/ref
- src/backend/storage/ipc
3 files changed
+7
-36
lines changedLines changed: 0 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
861 | 861 |
| |
862 | 862 |
| |
863 | 863 |
| |
864 |
| - | |
865 |
| - | |
866 | 864 |
| |
867 | 865 |
| |
868 | 866 |
| |
|
Lines changed: 0 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
475 | 475 |
| |
476 | 476 |
| |
477 | 477 |
| |
478 |
| - | |
479 |
| - | |
480 | 478 |
| |
481 | 479 |
| |
482 | 480 |
| |
|
Lines changed: 7 additions & 32 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1659 | 1659 |
| |
1660 | 1660 |
| |
1661 | 1661 |
| |
1662 |
| - | |
1663 |
| - | |
1664 |
| - | |
1665 |
| - | |
1666 |
| - | |
1667 |
| - | |
1668 |
| - | |
| 1662 | + | |
1669 | 1663 |
| |
1670 | 1664 |
| |
1671 | 1665 |
| |
| |||
1715 | 1709 |
| |
1716 | 1710 |
| |
1717 | 1711 |
| |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
1718 | 1715 |
| |
1719 | 1716 |
| |
1720 | 1717 |
| |
| |||
1734 | 1731 |
| |
1735 | 1732 |
| |
1736 | 1733 |
| |
1737 |
| - | |
1738 | 1734 |
| |
1739 | 1735 |
| |
1740 | 1736 |
| |
| |||
1833 | 1829 |
| |
1834 | 1830 |
| |
1835 | 1831 |
| |
1836 |
| - | |
1837 |
| - | |
1838 |
| - | |
1839 |
| - | |
1840 |
| - | |
1841 |
| - | |
1842 |
| - | |
1843 |
| - | |
1844 |
| - | |
1845 |
| - | |
1846 |
| - | |
1847 |
| - | |
| 1832 | + | |
| 1833 | + | |
1848 | 1834 |
| |
1849 | 1835 |
| |
1850 | 1836 |
| |
1851 |
| - | |
1852 |
| - | |
1853 |
| - | |
1854 |
| - | |
1855 | 1837 |
| |
1856 | 1838 |
| |
1857 | 1839 |
| |
| |||
1873 | 1855 |
| |
1874 | 1856 |
| |
1875 | 1857 |
| |
1876 |
| - | |
1877 |
| - | |
1878 | 1858 |
| |
1879 | 1859 |
| |
1880 | 1860 |
| |
| |||
1901 | 1881 |
| |
1902 | 1882 |
| |
1903 | 1883 |
| |
1904 |
| - | |
1905 |
| - | |
1906 |
| - | |
1907 | 1884 |
| |
1908 | 1885 |
| |
1909 | 1886 |
| |
| |||
1926 | 1903 |
| |
1927 | 1904 |
| |
1928 | 1905 |
| |
1929 |
| - | |
1930 |
| - | |
1931 |
| - | |
| 1906 | + | |
1932 | 1907 |
| |
1933 | 1908 |
| |
1934 | 1909 |
| |
|
0 commit comments
Comments
(0)