forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commita892234
committed
Change the format of the VM fork to add a second bit per page.
The new bit indicates whether every tuple on the page is already frozen.It is cleared only when the all-visible bit is cleared, and it can beset only when we vacuum a page and find that every tuple on that page isboth visible to every transaction and in no need of any futurevacuuming.A future commit will use this new bit to optimize away full-table scansthat would otherwise be triggered by XID wraparound considerations. Apage which is merely all-visible must still be scanned in that case, buta page which is all-frozen need not be. This commit does not attemptthat optimization, although that optimization is the goal here. Itseems better to get the basic infrastructure in place first.Per discussion, it's very desirable for pg_upgrade to automaticallymigrate existing VM forks from the old format to the new format. That,too, will be handled in a follow-on patch.Masahiko Sawada, reviewed by Kyotaro Horiguchi, Fujii Masao, AmitKapila, Simon Riggs, Andres Freund, and others, and substantiallyrevised by me.1 parent68c521e commita892234
File tree
14 files changed
+309
-126
lines changed- contrib/pgstattuple
- doc/src/sgml
- src
- backend
- access/heap
- catalog
- commands
- executor
- storage/ipc
- include
- access
- catalog
- storage
14 files changed
+309
-126
lines changedLines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
87 | 87 |
| |
88 | 88 |
| |
89 | 89 |
| |
90 |
| - | |
| 90 | + | |
91 | 91 |
| |
92 | 92 |
| |
93 | 93 |
| |
|
Lines changed: 6 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
623 | 623 |
| |
624 | 624 |
| |
625 | 625 |
| |
626 |
| - | |
| 626 | + | |
| 627 | + | |
627 | 628 |
| |
628 | 629 |
| |
629 | 630 |
| |
| |||
632 | 633 |
| |
633 | 634 |
| |
634 | 635 |
| |
635 |
| - | |
636 |
| - | |
637 |
| - | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
638 | 639 |
| |
639 | 640 |
| |
| 641 | + | |
640 | 642 |
| |
641 | 643 |
| |
642 | 644 |
| |
|
Lines changed: 58 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6951 | 6951 |
| |
6952 | 6952 |
| |
6953 | 6953 |
| |
| 6954 | + | |
| 6955 | + | |
| 6956 | + | |
| 6957 | + | |
| 6958 | + | |
| 6959 | + | |
| 6960 | + | |
| 6961 | + | |
| 6962 | + | |
| 6963 | + | |
| 6964 | + | |
| 6965 | + | |
| 6966 | + | |
| 6967 | + | |
| 6968 | + | |
| 6969 | + | |
| 6970 | + | |
| 6971 | + | |
| 6972 | + | |
| 6973 | + | |
| 6974 | + | |
| 6975 | + | |
| 6976 | + | |
| 6977 | + | |
| 6978 | + | |
| 6979 | + | |
| 6980 | + | |
| 6981 | + | |
| 6982 | + | |
| 6983 | + | |
| 6984 | + | |
| 6985 | + | |
| 6986 | + | |
| 6987 | + | |
| 6988 | + | |
| 6989 | + | |
| 6990 | + | |
| 6991 | + | |
| 6992 | + | |
| 6993 | + | |
| 6994 | + | |
| 6995 | + | |
| 6996 | + | |
| 6997 | + | |
| 6998 | + | |
| 6999 | + | |
| 7000 | + | |
| 7001 | + | |
| 7002 | + | |
6954 | 7003 |
| |
6955 | 7004 |
| |
6956 | 7005 |
| |
| |||
7205 | 7254 |
| |
7206 | 7255 |
| |
7207 | 7256 |
| |
7208 |
| - | |
| 7257 | + | |
7209 | 7258 |
| |
7210 | 7259 |
| |
7211 | 7260 |
| |
| |||
7215 | 7264 |
| |
7216 | 7265 |
| |
7217 | 7266 |
| |
| 7267 | + | |
7218 | 7268 |
| |
7219 | 7269 |
| |
7220 | 7270 |
| |
| |||
7804 | 7854 |
| |
7805 | 7855 |
| |
7806 | 7856 |
| |
7807 |
| - | |
| 7857 | + | |
| 7858 | + | |
| 7859 | + | |
| 7860 | + | |
| 7861 | + | |
| 7862 | + | |
7808 | 7863 |
| |
7809 | 7864 |
| |
7810 | 7865 |
| |
| |||
7856 | 7911 |
| |
7857 | 7912 |
| |
7858 | 7913 |
| |
7859 |
| - | |
| 7914 | + | |
7860 | 7915 |
| |
7861 | 7916 |
| |
7862 | 7917 |
| |
|
0 commit comments
Comments
(0)