|
36 | 36 | * |
37 | 37 | * |
38 | 38 | * IDENTIFICATION |
39 | | - * $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.83 2007/02/04 03:10:55 momjian Exp $ |
| 39 | + * $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.84 2007/02/21 22:15:21 momjian Exp $ |
40 | 40 | * |
41 | 41 | *------------------------------------------------------------------------- |
42 | 42 | */ |
@@ -180,6 +180,16 @@ lazy_vacuum_rel(Relation onerel, VacuumStmt *vacstmt) |
180 | 180 | /* Update shared free space map with final free space info */ |
181 | 181 | lazy_update_fsm(onerel, vacrelstats); |
182 | 182 |
|
| 183 | + if (vacrelstats->tot_free_pages > MaxFSMPages) |
| 184 | + ereport(WARNING, |
| 185 | + (errmsg("relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space", |
| 186 | + get_namespace_name(RelationGetNamespace(onerel)), |
| 187 | + RelationGetRelationName(onerel)), |
| 188 | + errhint("Consider%sincreasing the configuration parameter \"max_fsm_pages\".", |
| 189 | + /* Only suggest VACUUM FULL if 20% free */ |
| 190 | + (vacrelstats->tot_free_pages > vacrelstats->rel_pages * 0.20 |
| 191 | + ? " using VACUUM FULL on this relation or ": " ")))); |
| 192 | + |
183 | 193 | /* Update statistics in pg_class */ |
184 | 194 | vac_update_relstats(RelationGetRelid(onerel), |
185 | 195 | vacrelstats->rel_pages, |
@@ -507,13 +517,6 @@ lazy_scan_heap(Relation onerel, LVRelStats *vacrelstats, |
507 | 517 | vacrelstats->tot_free_pages, |
508 | 518 | empty_pages, |
509 | 519 | pg_rusage_show(&ru0)))); |
510 | | - |
511 | | - if (vacrelstats->tot_free_pages > MaxFSMPages) |
512 | | - ereport(WARNING, |
513 | | - (errmsg("relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space", |
514 | | - get_namespace_name(RelationGetNamespace(onerel)), |
515 | | - relname), |
516 | | - errhint("Consider using VACUUM FULL on this relation or increasing the configuration parameter \"max_fsm_pages\"."))); |
517 | 520 | } |
518 | 521 |
|
519 | 522 |
|
|
0 commit comments