forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit9155580
committed
Generate less WAL during GiST, GIN and SP-GiST index build.
Instead of WAL-logging every modification during the build separately,first build the index without any WAL-logging, and make a separate passthrough the index at the end, to write all pages to the WAL. Thissignificantly reduces the amount of WAL generated, and is usually alsofaster, despite the extra I/O needed for the extra scan through the index.WAL generated this way is also faster to replay.For GiST, the LSN-NSN interlock makes this a little tricky. All pages mustbe marked with a valid (i.e. non-zero) LSN, so that the parent-childLSN-NSN interlock works correctly. We now use magic value 1 for that duringindex build. Change the fake LSN counter to begin from 1000, so that 1 issafely smaller than any real or fake LSN. 2 would've been enough for ourpurposes, but let's reserve a bigger range, in case we need more specialvalues in the future.Author: Anastasia Lubennikova, Andrey V. LepikhovReviewed-by: Heikki Linnakangas, Dmitry Dolgov1 parent5f76804 commit9155580
File tree
27 files changed
+223
-222
lines changed- src
- backend/access
- gin
- gist
- rmgrdesc
- spgist
- transam
- include/access
27 files changed
+223
-222
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
399 | | - | |
| 399 | + | |
400 | 400 | | |
401 | 401 | | |
402 | 402 | | |
| |||
417 | 417 | | |
418 | 418 | | |
419 | 419 | | |
420 | | - | |
| 420 | + | |
421 | 421 | | |
422 | 422 | | |
423 | 423 | | |
| |||
595 | 595 | | |
596 | 596 | | |
597 | 597 | | |
598 | | - | |
| 598 | + | |
599 | 599 | | |
600 | 600 | | |
601 | 601 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
593 | 593 | | |
594 | 594 | | |
595 | 595 | | |
596 | | - | |
| 596 | + | |
597 | 597 | | |
598 | 598 | | |
599 | 599 | | |
| |||
719 | 719 | | |
720 | 720 | | |
721 | 721 | | |
722 | | - | |
| 722 | + | |
723 | 723 | | |
724 | 724 | | |
725 | 725 | | |
| |||
1152 | 1152 | | |
1153 | 1153 | | |
1154 | 1154 | | |
1155 | | - | |
| 1155 | + | |
1156 | 1156 | | |
1157 | 1157 | | |
1158 | 1158 | | |
| |||
1773 | 1773 | | |
1774 | 1774 | | |
1775 | 1775 | | |
| 1776 | + | |
1776 | 1777 | | |
1777 | 1778 | | |
1778 | 1779 | | |
| |||
1826 | 1827 | | |
1827 | 1828 | | |
1828 | 1829 | | |
1829 | | - | |
| 1830 | + | |
1830 | 1831 | | |
1831 | 1832 | | |
1832 | 1833 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
571 | 571 | | |
572 | 572 | | |
573 | 573 | | |
574 | | - | |
| 574 | + | |
575 | 575 | | |
576 | 576 | | |
577 | 577 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| 198 | + | |
198 | 199 | | |
199 | 200 | | |
200 | 201 | | |
| |||
347 | 348 | | |
348 | 349 | | |
349 | 350 | | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | 351 | | |
368 | 352 | | |
369 | 353 | | |
| |||
419 | 403 | | |
420 | 404 | | |
421 | 405 | | |
422 | | - | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
423 | 418 | | |
424 | 419 | | |
425 | 420 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
662 | 662 | | |
663 | 663 | | |
664 | 664 | | |
665 | | - | |
| 665 | + | |
666 | 666 | | |
667 | 667 | | |
668 | 668 | | |
| |||
692 | 692 | | |
693 | 693 | | |
694 | 694 | | |
695 | | - | |
| 695 | + | |
696 | 696 | | |
697 | 697 | | |
698 | 698 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
759 | 759 | | |
760 | 760 | | |
761 | 761 | | |
762 | | - | |
| 762 | + | |
763 | 763 | | |
764 | 764 | | |
765 | 765 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | 43 | | |
74 | 44 | | |
75 | 45 | | |
| |||
767 | 737 | | |
768 | 738 | | |
769 | 739 | | |
770 | | - | |
771 | | - | |
772 | | - | |
773 | 740 | | |
774 | 741 | | |
775 | 742 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
| 176 | + | |
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
223 | | - | |
| 223 | + | |
| 224 | + | |
224 | 225 | | |
225 | 226 | | |
226 | 227 | | |
| |||
459 | 460 | | |
460 | 461 | | |
461 | 462 | | |
462 | | - | |
| 463 | + | |
463 | 464 | | |
464 | 465 | | |
465 | 466 | | |
| |||
480 | 481 | | |
481 | 482 | | |
482 | 483 | | |
483 | | - | |
484 | | - | |
485 | | - | |
486 | | - | |
487 | | - | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
488 | 496 | | |
489 | | - | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
490 | 505 | | |
491 | 506 | | |
492 | | - | |
493 | 507 | | |
494 | | - | |
495 | 508 | | |
496 | 509 | | |
497 | 510 | | |
| |||
545 | 558 | | |
546 | 559 | | |
547 | 560 | | |
548 | | - | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
549 | 564 | | |
550 | | - | |
551 | | - | |
552 | | - | |
553 | | - | |
| 565 | + | |
554 | 566 | | |
555 | | - | |
556 | | - | |
557 | | - | |
| 567 | + | |
| 568 | + | |
558 | 569 | | |
559 | | - | |
560 | | - | |
561 | | - | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
562 | 575 | | |
563 | | - | |
564 | | - | |
565 | | - | |
566 | | - | |
567 | | - | |
568 | | - | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
569 | 582 | | |
| 583 | + | |
570 | 584 | | |
571 | 585 | | |
572 | 586 | | |
| |||
607 | 621 | | |
608 | 622 | | |
609 | 623 | | |
610 | | - | |
| 624 | + | |
611 | 625 | | |
612 | 626 | | |
613 | 627 | | |
| |||
620 | 634 | | |
621 | 635 | | |
622 | 636 | | |
| 637 | + | |
623 | 638 | | |
624 | 639 | | |
625 | 640 | | |
| |||
1252 | 1267 | | |
1253 | 1268 | | |
1254 | 1269 | | |
1255 | | - | |
| 1270 | + | |
| 1271 | + | |
1256 | 1272 | | |
1257 | 1273 | | |
1258 | 1274 | | |
| |||
0 commit comments
Comments
(0)