Skip to content

Commit f196471

Browse files
committed
Generalizer: Do not run ANALYZE in append mode
Running ANALYZE excessively can lead to the autovacuum daemon canceling vacuum runs. If we don't run ANALYZE all the time, the autovacuum daemon will do it for us when needed.
1 parent 06eb3fa commit f196471

File tree

5 files changed

+25
-6
lines changed

5 files changed

+25
-6
lines changed

src/gen/gen-discrete-isolation.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,9 @@ FROM {src} WHERE {importance_column} > 0
143143
connection().exec("COMMIT");
144144
timer(m_timer_write).stop();
145145

146-
dbexec("ANALYZE {src}");
146+
if (!append_mode()) {
147+
dbexec("ANALYZE {src}");
148+
}
147149

148150
log_gen("Done.");
149151
}

src/gen/gen-rivers.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,11 @@ void gen_rivers_t::process()
197197
dbexec(R"(UPDATE {qualified_src_areas} SET width =)"
198198
R"( (ST_MaximumInscribedCircle("{geom_column}")).radius * 2)"
199199
R"( WHERE width IS NULL)");
200-
dbexec("ANALYZE {qualified_src_areas}");
200+
201+
if (!append_mode()) {
202+
dbexec("ANALYZE {qualified_src_areas}");
203+
}
204+
201205
timer(m_timer_area).stop();
202206

203207
log_gen("Get 'width' from areas onto lines...");
@@ -343,7 +347,9 @@ SELECT "{id_column}", "{width_column}", "{name_column}", "{geom_column}"
343347
connection().exec("COMMIT");
344348
timer(m_timer_write).stop();
345349

346-
dbexec("ANALYZE {dest}");
350+
if (!append_mode()) {
351+
dbexec("ANALYZE {dest}");
352+
}
347353

348354
log_gen("Done.");
349355
}

src/gen/gen-tile-builtup.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,5 +279,8 @@ void gen_tile_builtup_t::post()
279279
}
280280
}
281281
}
282-
dbexec("ANALYZE {dest}");
282+
283+
if (!append_mode()) {
284+
dbexec("ANALYZE {dest}");
285+
}
283286
}

src/gen/gen-tile-raster.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,5 +256,8 @@ void gen_tile_raster_union_t::post()
256256
fmt::format("{}_{}", m_image_table, variant));
257257
}
258258
}
259-
dbexec("ANALYZE {dest}");
259+
260+
if (!append_mode()) {
261+
dbexec("ANALYZE {dest}");
262+
}
260263
}

src/gen/gen-tile-vector.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,4 +96,9 @@ void gen_tile_vector_union_t::process(tile_t const &tile)
9696
log_gen("Inserted {} generalized polygons", result.affected_rows());
9797
}
9898

99-
void gen_tile_vector_union_t::post() { dbexec("ANALYZE {dest}"); }
99+
void gen_tile_vector_union_t::post()
100+
{
101+
if (!append_mode()) {
102+
dbexec("ANALYZE {dest}");
103+
}
104+
}

0 commit comments

Comments
 (0)