Hi, > I would appreciate feedback on the overall approach.
I did not read through the patch in detail but by looking at the commit message: "A relation is skipped only if: - it has been analyzed before (manual or auto-analyze), and - n_mod_since_analyze == 0 Relations that have never been analyzed are always analyzed normally. The default ANALYZE behavior is unchanged unless SMART is explicitly specified. " I can't help but think that this SMART option is not as smart as it should be to actually be valuable. I agree that we should never skip a table that has never been analyzed. My concern is that n_mod_since_analyze == 0 is not very useful. What if I modify 1 tuple? does that really justify an ANALYZE to run on the table? Shouldn't the decision be driven based on some threshold calculation; similar to how autoanalyze makes the decision? -- Sami Imseih Amazon Web Services (AWS)
