|
10 | 10 | \echo ' b3 – Table bloat (requires pgstattuple; expensive)' |
11 | 11 | \echo ' b4 – B-tree indexes bloat (requires pgstattuple; expensive)' |
12 | 12 | \echo ' b5 – Tables and columns without stats (so bloat cannot be estimated)' |
13 | | -\echo ' b6 – Buffer cache contents (requires pg_buffercache; expensive)' |
14 | | -\echo ' c1 – Index (re)creation progress (CREATE INDEX / REINDEX)' |
| 13 | +\echo ' c1 – Buffer cache contents (requires pg_buffercache; expensive)' |
15 | 14 | \echo ' e1 – Extensions installed in current database' |
16 | 15 | \echo ' i1 – Unused and rarely used indexes' |
17 | 16 | \echo ' i2 – Redundant indexes' |
|
20 | 19 | \echo ' i5 – Cleanup unused and redundant indexes – DO & UNDO migration DDL' |
21 | 20 | \echo ' l1 – Lock trees (lightweight)' |
22 | 21 | \echo ' l2 – Lock trees, detailed (based on pg_blocking_pids())' |
23 | | -\echo ' p1 – [EXP] Alignment padding: how many bytes can be saved if columns are reordered?' |
| 22 | +\echo ' p1 – Index (re)creation progress (CREATE INDEX / REINDEX)' |
24 | 23 | \echo ' r1 – Create user with random password (interactive)' |
25 | 24 | \echo ' r2 – Alter user with random password (interactive)' |
26 | 25 | \echo ' s1 – Slowest queries, by total time (requires pg_stat_statements)' |
|
30 | 29 | \echo ' t2 – Objects with custom storage parameters' |
31 | 30 | \echo ' v1 – Vacuum: current activity' |
32 | 31 | \echo ' v2 – VACUUM progress and autovacuum queue' |
| 32 | +\echo ' x1 – [EXP] Alignment padding: how many bytes can be saved if columns are reordered?' |
33 | 33 | \echo ' q – Quit' |
34 | 34 | \echo |
35 | 35 | \echo Type your choice and press <Enter>: |
|
46 | 46 | :d_stp::text = 'b3' as d_step_is_b3, |
47 | 47 | :d_stp::text = 'b4' as d_step_is_b4, |
48 | 48 | :d_stp::text = 'b5' as d_step_is_b5, |
49 | | -:d_stp::text = 'b6' as d_step_is_b6, |
50 | 49 | :d_stp::text = 'c1' as d_step_is_c1, |
51 | 50 | :d_stp::text = 'e1' as d_step_is_e1, |
52 | 51 | :d_stp::text = 'i1' as d_step_is_i1, |
|
66 | 65 | :d_stp::text = 't2' as d_step_is_t2, |
67 | 66 | :d_stp::text = 'v1' as d_step_is_v1, |
68 | 67 | :d_stp::text = 'v2' as d_step_is_v2, |
| 68 | +:d_stp::text = 'x1' as d_step_is_x1, |
69 | 69 | :d_stp::text = 'q' as d_step_is_q \gset |
70 | 70 | \if :d_step_is_q |
71 | 71 | \echo 'Bye!' |
@@ -110,12 +110,8 @@ select |
110 | 110 | \ir ./sql/b5_tables_no_stats.sql |
111 | 111 | \prompt 'Press <Enter> to continue…' d_dummy |
112 | 112 | \ir ./start.psql |
113 | | -\elif :d_step_is_b6 |
114 | | - \ir ./sql/b6_buffercache.sql |
115 | | - \prompt 'Press <Enter> to continue…' d_dummy |
116 | | - \ir ./start.psql |
117 | 113 | \elif :d_step_is_c1 |
118 | | - \ir ./sql/c1_index_create_progress.sql |
| 114 | + \ir ./sql/c1_buffercache.sql |
119 | 115 | \prompt 'Press <Enter> to continue…' d_dummy |
120 | 116 | \ir ./start.psql |
121 | 117 | \elif :d_step_is_e1 |
@@ -151,7 +147,7 @@ select |
151 | 147 | \prompt 'Press <Enter> to continue…' d_dummy |
152 | 148 | \ir ./start.psql |
153 | 149 | \elif :d_step_is_p1 |
154 | | - \ir ./sql/p1_alignment_padding.sql |
| 150 | + \ir ./sql/p1_index_create_progress.sql |
155 | 151 | \prompt 'Press <Enter> to continue…' d_dummy |
156 | 152 | \ir ./start.psql |
157 | 153 | \elif :d_step_is_r1 |
@@ -190,6 +186,10 @@ select |
190 | 186 | \ir ./sql/v2_autovacuum_progress_and_queue.sql |
191 | 187 | \prompt 'Press <Enter> to continue…' d_dummy |
192 | 188 | \ir ./start.psql |
| 189 | +\elif :d_step_is_x1 |
| 190 | + \ir ./sql/x1_alignment_padding.sql |
| 191 | + \prompt 'Press <Enter> to continue…' d_dummy |
| 192 | + \ir ./start.psql |
193 | 193 | \else |
194 | 194 | \echo |
195 | 195 | \echo '\033[1;31mError:\033[0m Unknown option! Try again.' |
|
0 commit comments