Joost Kraaijeveld wrote:
Hi,

I am using auto-vacuum (autovacuum = on) but sometimes PGAdmin warns me
that I need to enable autovacuum or do it manually.

How does PgAdmin determine that it is necessary to run vacuum?

Using the following code:

bool pgTable::GetVacuumHint()
{
    bool canHint=false;

    if (rowsCounted) // We've explicitly counted the rows
    {
if (!estimatedRows || (estimatedRows == 1000 && rows.GetValue() != 1000))
            canHint = (rows >= 20);
        else
        {
            double rowsDbl=(wxLongLong_t)rows.GetValue();
            double quot=rowsDbl *10. / estimatedRows;
canHint = ((quot > 12 || quot < 8) && (rowsDbl < estimatedRows-20. || rowsDbl > estimatedRows+20.));
        }
    }
    else if (estimatedRows == 1000)
    {
        canHint = true;
    }
    return canHint;
}

Regards, Dave

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to