Commit bb446b6
committed
Support synchronization of snapshots through an export/import procedure.
A transaction can export a snapshot with pg_export_snapshot(), and then
others can import it with SET TRANSACTION SNAPSHOT. The data does not
leave the server so there are not security issues. A snapshot can only
be imported while the exporting transaction is still running, and there
are some other restrictions.
I'm not totally convinced that we've covered all the bases for SSI (true
serializable) mode, but it works fine for lesser isolation modes.
Joachim Wieland, reviewed by Marko Tiikkaja, and rather heavily modified
by Tom Lane1 parent b436c72 commit bb446b6
File tree
17 files changed
+1030
-34
lines changed- doc/src/sgml
- ref
- src
- backend
- access/transam
- parser
- storage
- ipc
- lmgr
- utils
- misc
- time
- bin/initdb
- include
- catalog
- parser
- storage
- utils
17 files changed
+1030
-34
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13802 | 13802 | | |
13803 | 13803 | | |
13804 | 13804 | | |
| 13805 | + | |
| 13806 | + | |
| 13807 | + | |
| 13808 | + | |
| 13809 | + | |
| 13810 | + | |
| 13811 | + | |
| 13812 | + | |
13805 | 13813 | | |
13806 | 13814 | | |
13807 | 13815 | | |
| |||
13889 | 13897 | | |
13890 | 13898 | | |
13891 | 13899 | | |
| 13900 | + | |
| 13901 | + | |
| 13902 | + | |
| 13903 | + | |
| 13904 | + | |
13892 | 13905 | | |
13893 | 13906 | | |
13894 | 13907 | | |
| |||
13985 | 13998 | | |
13986 | 13999 | | |
13987 | 14000 | | |
| 14001 | + | |
| 14002 | + | |
| 14003 | + | |
| 14004 | + | |
| 14005 | + | |
13988 | 14006 | | |
13989 | 14007 | | |
13990 | 14008 | | |
| |||
14181 | 14199 | | |
14182 | 14200 | | |
14183 | 14201 | | |
| 14202 | + | |
| 14203 | + | |
| 14204 | + | |
| 14205 | + | |
| 14206 | + | |
14184 | 14207 | | |
14185 | 14208 | | |
14186 | 14209 | | |
| |||
14198 | 14221 | | |
14199 | 14222 | | |
14200 | 14223 | | |
14201 | | - | |
| 14224 | + | |
14202 | 14225 | | |
14203 | 14226 | | |
14204 | 14227 | | |
| |||
14333 | 14356 | | |
14334 | 14357 | | |
14335 | 14358 | | |
| 14359 | + | |
| 14360 | + | |
| 14361 | + | |
| 14362 | + | |
| 14363 | + | |
| 14364 | + | |
| 14365 | + | |
| 14366 | + | |
| 14367 | + | |
| 14368 | + | |
| 14369 | + | |
| 14370 | + | |
| 14371 | + | |
| 14372 | + | |
| 14373 | + | |
| 14374 | + | |
| 14375 | + | |
| 14376 | + | |
| 14377 | + | |
| 14378 | + | |
| 14379 | + | |
| 14380 | + | |
| 14381 | + | |
| 14382 | + | |
| 14383 | + | |
| 14384 | + | |
| 14385 | + | |
| 14386 | + | |
| 14387 | + | |
| 14388 | + | |
| 14389 | + | |
| 14390 | + | |
| 14391 | + | |
| 14392 | + | |
| 14393 | + | |
| 14394 | + | |
| 14395 | + | |
| 14396 | + | |
| 14397 | + | |
| 14398 | + | |
| 14399 | + | |
| 14400 | + | |
| 14401 | + | |
| 14402 | + | |
| 14403 | + | |
| 14404 | + | |
| 14405 | + | |
| 14406 | + | |
| 14407 | + | |
| 14408 | + | |
| 14409 | + | |
| 14410 | + | |
| 14411 | + | |
| 14412 | + | |
| 14413 | + | |
| 14414 | + | |
| 14415 | + | |
| 14416 | + | |
| 14417 | + | |
| 14418 | + | |
| 14419 | + | |
| 14420 | + | |
| 14421 | + | |
| 14422 | + | |
| 14423 | + | |
| 14424 | + | |
| 14425 | + | |
| 14426 | + | |
| 14427 | + | |
| 14428 | + | |
| 14429 | + | |
| 14430 | + | |
| 14431 | + | |
| 14432 | + | |
| 14433 | + | |
| 14434 | + | |
| 14435 | + | |
| 14436 | + | |
| 14437 | + | |
| 14438 | + | |
| 14439 | + | |
14336 | 14440 | | |
14337 | 14441 | | |
14338 | 14442 | | |
| |||
14591 | 14695 | | |
14592 | 14696 | | |
14593 | 14697 | | |
| 14698 | + | |
| 14699 | + | |
| 14700 | + | |
| 14701 | + | |
| 14702 | + | |
14594 | 14703 | | |
14595 | 14704 | | |
14596 | | - | |
| 14705 | + | |
14597 | 14706 | | |
14598 | 14707 | | |
14599 | 14708 | | |
14600 | 14709 | | |
14601 | 14710 | | |
14602 | 14711 | | |
14603 | 14712 | | |
14604 | | - | |
| 14713 | + | |
14605 | 14714 | | |
14606 | 14715 | | |
14607 | 14716 | | |
| |||
14694 | 14803 | | |
14695 | 14804 | | |
14696 | 14805 | | |
| 14806 | + | |
| 14807 | + | |
| 14808 | + | |
| 14809 | + | |
| 14810 | + | |
14697 | 14811 | | |
14698 | | - | |
14699 | | - | |
14700 | | - | |
| 14812 | + | |
| 14813 | + | |
| 14814 | + | |
14701 | 14815 | | |
14702 | 14816 | | |
14703 | | - | |
| 14817 | + | |
14704 | 14818 | | |
14705 | 14819 | | |
14706 | 14820 | | |
| |||
14972 | 15086 | | |
14973 | 15087 | | |
14974 | 15088 | | |
| 15089 | + | |
| 15090 | + | |
14975 | 15091 | | |
14976 | 15092 | | |
14977 | 15093 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
| 64 | + | |
| 65 | + | |
63 | 66 | | |
64 | 67 | | |
65 | 68 | | |
| |||
98 | 101 | | |
99 | 102 | | |
100 | 103 | | |
101 | | - | |
| 104 | + | |
102 | 105 | | |
103 | 106 | | |
104 | 107 | | |
| |||
139 | 142 | | |
140 | 143 | | |
141 | 144 | | |
142 | | - | |
| 145 | + | |
| 146 | + | |
143 | 147 | | |
144 | 148 | | |
145 | 149 | | |
146 | 150 | | |
147 | 151 | | |
148 | 152 | | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
149 | 180 | | |
150 | 181 | | |
151 | 182 | | |
| |||
163 | 194 | | |
164 | 195 | | |
165 | 196 | | |
| 197 | + | |
| 198 | + | |
166 | 199 | | |
167 | 200 | | |
168 | 201 | | |
| |||
178 | 211 | | |
179 | 212 | | |
180 | 213 | | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
181 | 242 | | |
182 | 243 | | |
183 | 244 | | |
184 | 245 | | |
185 | | - | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
186 | 253 | | |
187 | 254 | | |
188 | 255 | | |
| |||
197 | 264 | | |
198 | 265 | | |
199 | 266 | | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | 267 | | |
207 | 268 | | |
208 | 269 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
90 | 95 | | |
91 | 96 | | |
92 | 97 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2067 | 2067 | | |
2068 | 2068 | | |
2069 | 2069 | | |
| 2070 | + | |
| 2071 | + | |
| 2072 | + | |
| 2073 | + | |
| 2074 | + | |
| 2075 | + | |
| 2076 | + | |
| 2077 | + | |
| 2078 | + | |
| 2079 | + | |
2070 | 2080 | | |
2071 | 2081 | | |
2072 | 2082 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| |||
6381 | 6382 | | |
6382 | 6383 | | |
6383 | 6384 | | |
| 6385 | + | |
| 6386 | + | |
| 6387 | + | |
| 6388 | + | |
| 6389 | + | |
| 6390 | + | |
6384 | 6391 | | |
6385 | 6392 | | |
6386 | 6393 | | |
| |||
0 commit comments