forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit7944d2d
committed
Prevent pgstats from getting confused when relkind of a relation changes
When the relkind of a relache entry changes, because a table is converted intoa view, pgstats can get confused in 15+, leading to crashes or assertionfailures.For HEAD, Tom fixed this inb23cd18, by removing support for converting atable to a view, removing the source of the inconsistency. This commit justadds an assertion that a relcache entry's relkind does not change, just incase we end up with another case of that in the future. As there's no cases ofchanging relkind anymore, we can't add a test that that's handled correctly.For 15, fix the problem by not maintaining the association with the old pgstatentry when the relkind changes during a relcache invalidation processing. Inthat case the pgstat entry needs to be unlinked first, to avoidPgStat_TableStatus->relation getting out of sync. Also add a test reproducingthe issues.No known problem exists in 11-14, so just add the test there.Reported-by: vignesh C <vignesh21@gmail.com>Author: Andres Freund <andres@anarazel.de>Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>Discussion:https://postgr.es/m/CALDaNm2yXz+zOtv7y5zBd5WKT8O0Ld3YxikuU3dcyCvxF7gypA@mail.gmail.comDiscussion:https://postgr.es/m/CALDaNm3oZA-8Wbps2Jd1g5_Gjrr-x3YWrJPek-mF5Asrrvz2Dg@mail.gmail.comBackpatch: 15-1 parenta844052 commit7944d2d
2 files changed
+48
-1
lines changedLines changed: 25 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1898 | 1898 |
| |
1899 | 1899 |
| |
1900 | 1900 |
| |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
1901 | 1924 |
| |
1902 | 1925 |
| |
1903 | 1926 |
| |
| |||
1929 | 1952 |
| |
1930 | 1953 |
| |
1931 | 1954 |
| |
1932 |
| - | |
| 1955 | + | |
1933 | 1956 |
| |
1934 | 1957 |
| |
1935 | 1958 |
| |
| |||
1998 | 2021 |
| |
1999 | 2022 |
| |
2000 | 2023 |
| |
| 2024 | + |
Lines changed: 23 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
649 | 649 |
| |
650 | 650 |
| |
651 | 651 |
| |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
652 | 675 |
| |
653 | 676 |
| |
654 | 677 |
|
0 commit comments
Comments
(0)