Commit c5b2860
committed
Add TABLESPACE option to REINDEX
This patch adds the possibility to move indexes to a new tablespace
while rebuilding them. Both the concurrent and the non-concurrent cases
are supported, and the following set of restrictions apply:
- When using TABLESPACE with a REINDEX command that targets a
partitioned table or index, all the indexes of the leaf partitions are
moved to the new tablespace. The tablespace references of the non-leaf,
partitioned tables in pg_class.reltablespace are not changed. This
requires an extra ALTER TABLE SET TABLESPACE.
- Any index on a toast table rebuilt as part of a parent table is kept
in its original tablespace.
- The operation is forbidden on system catalogs, including trying to
directly move a toast relation with REINDEX. This results in an error
if doing REINDEX on a single object. REINDEX SCHEMA, DATABASE and
SYSTEM skip system relations when TABLESPACE is used.
Author: Alexey Kondratov, Michael Paquier, Justin Pryzby
Reviewed-by: Álvaro Herrera, Michael Paquier
Discussion: https://postgr.es/m/8a8f5f73-00d3-55f8-7583-1375ca8f6a91@postgrespro.ru1 parent 9624321 commit c5b2860
File tree
7 files changed
+505
-4
lines changed- doc/src/sgml/ref
- src
- backend
- catalog
- commands
- bin/psql
- include/catalog
- test/regress
- input
- output
7 files changed
+505
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
187 | 188 | | |
188 | 189 | | |
189 | 190 | | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
190 | 200 | | |
191 | 201 | | |
192 | 202 | | |
| |||
210 | 220 | | |
211 | 221 | | |
212 | 222 | | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
213 | 231 | | |
214 | 232 | | |
215 | 233 | | |
| |||
294 | 312 | | |
295 | 313 | | |
296 | 314 | | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
297 | 327 | | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
298 | 336 | | |
299 | 337 | | |
300 | 338 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
| |||
1394 | 1395 | | |
1395 | 1396 | | |
1396 | 1397 | | |
| 1398 | + | |
| 1399 | + | |
1397 | 1400 | | |
1398 | 1401 | | |
1399 | | - | |
| 1402 | + | |
| 1403 | + | |
1400 | 1404 | | |
1401 | 1405 | | |
1402 | 1406 | | |
| |||
1526 | 1530 | | |
1527 | 1531 | | |
1528 | 1532 | | |
1529 | | - | |
| 1533 | + | |
1530 | 1534 | | |
1531 | 1535 | | |
1532 | 1536 | | |
| |||
3603 | 3607 | | |
3604 | 3608 | | |
3605 | 3609 | | |
| 3610 | + | |
3606 | 3611 | | |
3607 | 3612 | | |
3608 | 3613 | | |
| |||
3674 | 3679 | | |
3675 | 3680 | | |
3676 | 3681 | | |
| 3682 | + | |
| 3683 | + | |
| 3684 | + | |
| 3685 | + | |
| 3686 | + | |
| 3687 | + | |
| 3688 | + | |
| 3689 | + | |
| 3690 | + | |
| 3691 | + | |
| 3692 | + | |
| 3693 | + | |
| 3694 | + | |
| 3695 | + | |
| 3696 | + | |
| 3697 | + | |
| 3698 | + | |
| 3699 | + | |
| 3700 | + | |
| 3701 | + | |
| 3702 | + | |
| 3703 | + | |
3677 | 3704 | | |
3678 | 3705 | | |
3679 | 3706 | | |
3680 | 3707 | | |
3681 | 3708 | | |
3682 | 3709 | | |
| 3710 | + | |
| 3711 | + | |
| 3712 | + | |
| 3713 | + | |
| 3714 | + | |
| 3715 | + | |
| 3716 | + | |
| 3717 | + | |
| 3718 | + | |
| 3719 | + | |
| 3720 | + | |
3683 | 3721 | | |
3684 | 3722 | | |
3685 | 3723 | | |
| |||
3963 | 4001 | | |
3964 | 4002 | | |
3965 | 4003 | | |
3966 | | - | |
| 4004 | + | |
| 4005 | + | |
| 4006 | + | |
3967 | 4007 | | |
3968 | 4008 | | |
3969 | 4009 | | |
3970 | 4010 | | |
| 4011 | + | |
3971 | 4012 | | |
3972 | 4013 | | |
3973 | 4014 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2474 | 2474 | | |
2475 | 2475 | | |
2476 | 2476 | | |
| 2477 | + | |
2477 | 2478 | | |
2478 | 2479 | | |
2479 | 2480 | | |
| |||
2484 | 2485 | | |
2485 | 2486 | | |
2486 | 2487 | | |
| 2488 | + | |
| 2489 | + | |
2487 | 2490 | | |
2488 | 2491 | | |
2489 | 2492 | | |
| |||
2500 | 2503 | | |
2501 | 2504 | | |
2502 | 2505 | | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
| 2511 | + | |
| 2512 | + | |
| 2513 | + | |
| 2514 | + | |
| 2515 | + | |
| 2516 | + | |
| 2517 | + | |
| 2518 | + | |
| 2519 | + | |
| 2520 | + | |
| 2521 | + | |
| 2522 | + | |
| 2523 | + | |
| 2524 | + | |
| 2525 | + | |
| 2526 | + | |
| 2527 | + | |
| 2528 | + | |
| 2529 | + | |
2503 | 2530 | | |
2504 | 2531 | | |
2505 | 2532 | | |
| |||
2730 | 2757 | | |
2731 | 2758 | | |
2732 | 2759 | | |
| 2760 | + | |
2733 | 2761 | | |
2734 | 2762 | | |
2735 | 2763 | | |
| |||
2856 | 2884 | | |
2857 | 2885 | | |
2858 | 2886 | | |
| 2887 | + | |
| 2888 | + | |
| 2889 | + | |
| 2890 | + | |
| 2891 | + | |
| 2892 | + | |
| 2893 | + | |
| 2894 | + | |
| 2895 | + | |
| 2896 | + | |
| 2897 | + | |
| 2898 | + | |
| 2899 | + | |
| 2900 | + | |
| 2901 | + | |
| 2902 | + | |
| 2903 | + | |
| 2904 | + | |
| 2905 | + | |
| 2906 | + | |
| 2907 | + | |
| 2908 | + | |
| 2909 | + | |
| 2910 | + | |
| 2911 | + | |
| 2912 | + | |
| 2913 | + | |
| 2914 | + | |
| 2915 | + | |
| 2916 | + | |
| 2917 | + | |
| 2918 | + | |
| 2919 | + | |
| 2920 | + | |
2859 | 2921 | | |
2860 | 2922 | | |
2861 | 2923 | | |
| |||
3032 | 3094 | | |
3033 | 3095 | | |
3034 | 3096 | | |
| 3097 | + | |
| 3098 | + | |
| 3099 | + | |
| 3100 | + | |
| 3101 | + | |
| 3102 | + | |
| 3103 | + | |
| 3104 | + | |
| 3105 | + | |
| 3106 | + | |
| 3107 | + | |
| 3108 | + | |
| 3109 | + | |
| 3110 | + | |
| 3111 | + | |
| 3112 | + | |
| 3113 | + | |
| 3114 | + | |
3035 | 3115 | | |
3036 | 3116 | | |
3037 | 3117 | | |
| |||
3210 | 3290 | | |
3211 | 3291 | | |
3212 | 3292 | | |
| 3293 | + | |
| 3294 | + | |
| 3295 | + | |
| 3296 | + | |
| 3297 | + | |
| 3298 | + | |
| 3299 | + | |
3213 | 3300 | | |
3214 | 3301 | | |
3215 | 3302 | | |
| |||
3346 | 3433 | | |
3347 | 3434 | | |
3348 | 3435 | | |
| 3436 | + | |
| 3437 | + | |
| 3438 | + | |
| 3439 | + | |
| 3440 | + | |
| 3441 | + | |
| 3442 | + | |
| 3443 | + | |
3349 | 3444 | | |
3350 | 3445 | | |
3351 | 3446 | | |
| |||
3390 | 3485 | | |
3391 | 3486 | | |
3392 | 3487 | | |
| 3488 | + | |
| 3489 | + | |
| 3490 | + | |
| 3491 | + | |
| 3492 | + | |
| 3493 | + | |
| 3494 | + | |
3393 | 3495 | | |
3394 | 3496 | | |
3395 | 3497 | | |
| |||
3427 | 3529 | | |
3428 | 3530 | | |
3429 | 3531 | | |
| 3532 | + | |
3430 | 3533 | | |
3431 | 3534 | | |
3432 | 3535 | | |
| |||
3458 | 3561 | | |
3459 | 3562 | | |
3460 | 3563 | | |
| 3564 | + | |
| 3565 | + | |
| 3566 | + | |
| 3567 | + | |
| 3568 | + | |
| 3569 | + | |
| 3570 | + | |
3461 | 3571 | | |
3462 | 3572 | | |
3463 | 3573 | | |
| 3574 | + | |
3464 | 3575 | | |
3465 | 3576 | | |
3466 | 3577 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3641 | 3641 | | |
3642 | 3642 | | |
3643 | 3643 | | |
3644 | | - | |
| 3644 | + | |
| 3645 | + | |
| 3646 | + | |
3645 | 3647 | | |
3646 | 3648 | | |
3647 | 3649 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
| |||
92 | 94 | | |
93 | 95 | | |
94 | 96 | | |
| 97 | + | |
95 | 98 | | |
96 | 99 | | |
97 | 100 | | |
| |||
0 commit comments