I assume the attached patch is what you want done to fix this. Applied. It quotes table names for vacuum and analyze, and uppercases the keywords for clarity.
--------------------------------------------------------------------------- Matthew T. O'Connor wrote: > Ouch... sorry, my fault. I'll fix this tomorrow (Friday) and submit a > patch, or if you want to submit a patch that would be fine. All you > have to do is change the the sql statements to put quotes around the > relation name. > > Thanks for catching this. > > Matthew T. O'Connor > > On Thu, 2003-09-04 at 18:39, Adam Kavan wrote: > > Now that I have pg_autovacuum working I've bumped into another small > > bug. When pg_autovacuum goes to vacuum or analyze one of my tables it runs... > > > > analyze public.ConfigBackup > > > > Because ConfigBackup is mixed case it cannot find the relation. I fixed > > this by going to the function init_table_info and increasing the malloc for > > new_tbl->table_name by 2 and adding "'s to either side of the table > > name. Is there anything wrong with this approach? Is there a config I can > > set to make this non-case sensitive? > > > > Thanks again for your time. > > > > --- Adam Kavan > > --- [EMAIL PROTECTED] > > > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 5: Have you checked our extensive FAQ? > > > > http://www.postgresql.org/docs/faqs/FAQ.html > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 9: the planner will ignore your desire to choose an index scan if your > joining column's datatypes do not match > -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
Index: contrib/pg_autovacuum/pg_autovacuum.c =================================================================== RCS file: /cvsroot/pgsql-server/contrib/pg_autovacuum/pg_autovacuum.c,v retrieving revision 1.3 diff -c -c -r1.3 pg_autovacuum.c *** contrib/pg_autovacuum/pg_autovacuum.c 4 Aug 2003 00:43:11 -0000 1.3 --- contrib/pg_autovacuum/pg_autovacuum.c 10 Sep 2003 19:57:15 -0000 *************** *** 581,587 **** { PGresult *res = NULL; ! res = send_query("vacuum", dbi); /* FIXME: Perhaps should add a check for PQ_COMMAND_OK */ PQclear(res); return 1; --- 581,587 ---- { PGresult *res = NULL; ! res = send_query("VACUUM", dbi); /* FIXME: Perhaps should add a check for PQ_COMMAND_OK */ PQclear(res); return 1; *************** *** 733,739 **** PGresult *res = NULL; int ret = 0; ! res = send_query("show stats_row_level", dbi); ret = strcmp("on", PQgetvalue(res, 0, PQfnumber(res, "stats_row_level"))); PQclear(res); --- 733,739 ---- PGresult *res = NULL; int ret = 0; ! res = send_query("SHOW stats_row_level", dbi); ret = strcmp("on", PQgetvalue(res, 0, PQfnumber(res, "stats_row_level"))); PQclear(res); *************** *** 1082,1088 **** */ if ((tbl->curr_vacuum_count - tbl->CountAtLastVacuum) >= tbl->vacuum_threshold) { ! snprintf(buf, sizeof(buf), "vacuum analyze %s", tbl->table_name); if (args->debug >= 1) { sprintf(logbuffer, "Performing: %s", buf); --- 1082,1088 ---- */ if ((tbl->curr_vacuum_count - tbl->CountAtLastVacuum) >= tbl->vacuum_threshold) { ! snprintf(buf, sizeof(buf), "VACUUM ANALYZE \"%s\"", tbl->table_name); if (args->debug >= 1) { sprintf(logbuffer, "Performing: %s", buf); *************** *** 1096,1102 **** } else if ((tbl->curr_analyze_count - tbl->CountAtLastAnalyze) >= tbl->analyze_threshold) { ! snprintf(buf, sizeof(buf), "analyze %s", tbl->table_name); if (args->debug >= 1) { sprintf(logbuffer, "Performing: %s", buf); --- 1096,1102 ---- } else if ((tbl->curr_analyze_count - tbl->CountAtLastAnalyze) >= tbl->analyze_threshold) { ! snprintf(buf, sizeof(buf), "ANALYZE \"%s\"", tbl->table_name); if (args->debug >= 1) { sprintf(logbuffer, "Performing: %s", buf);
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match