pgsql: Restructure autovacuum in two processes: a dummy process, which - Mailing list pgsql-committers

From alvherre@postgresql.org (Alvaro Herrera)
Subject pgsql: Restructure autovacuum in two processes: a dummy process, which
Date
Msg-id 20070215232324.0E6619FBCB7@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Restructure autovacuum in two processes: a dummy process, which runs
continuously, and requests vacuum runs of "autovacuum workers" to postmaster.
The workers do the actual vacuum work.  This allows for future improvements,
like allowing multiple autovacuum jobs running in parallel.

For now, the code keeps the original behavior of having a single autovac
process at any time by sleeping until the previous worker has finished.

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        varsup.c (r1.77 -> r1.78)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/varsup.c.diff?r1=1.77&r2=1.78)
    pgsql/src/backend/bootstrap:
        bootstrap.c (r1.230 -> r1.231)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/bootstrap/bootstrap.c.diff?r1=1.230&r2=1.231)
    pgsql/src/backend/commands:
        vacuum.c (r1.345 -> r1.346)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuum.c.diff?r1=1.345&r2=1.346)
    pgsql/src/backend/postmaster:
        autovacuum.c (r1.31 -> r1.32)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/autovacuum.c.diff?r1=1.31&r2=1.32)
        pgstat.c (r1.146 -> r1.147)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/pgstat.c.diff?r1=1.146&r2=1.147)
        postmaster.c (r1.521 -> r1.522)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/postmaster.c.diff?r1=1.521&r2=1.522)
    pgsql/src/backend/storage/ipc:
        ipci.c (r1.90 -> r1.91)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/ipci.c.diff?r1=1.90&r2=1.91)
    pgsql/src/backend/storage/lmgr:
        proc.c (r1.183 -> r1.184)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/proc.c.diff?r1=1.183&r2=1.184)
    pgsql/src/backend/tcop:
        postgres.c (r1.522 -> r1.523)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/postgres.c.diff?r1=1.522&r2=1.523)
    pgsql/src/backend/utils/init:
        miscinit.c (r1.161 -> r1.162)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/miscinit.c.diff?r1=1.161&r2=1.162)
        postinit.c (r1.173 -> r1.174)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/postinit.c.diff?r1=1.173&r2=1.174)
    pgsql/src/include:
        miscadmin.h (r1.191 -> r1.192)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/miscadmin.h.diff?r1=1.191&r2=1.192)
    pgsql/src/include/postmaster:
        autovacuum.h (r1.7 -> r1.8)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postmaster/autovacuum.h.diff?r1=1.7&r2=1.8)
    pgsql/src/include/storage:
        lwlock.h (r1.33 -> r1.34)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lwlock.h.diff?r1=1.33&r2=1.34)
        pmsignal.h (r1.16 -> r1.17)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/pmsignal.h.diff?r1=1.16&r2=1.17)
        proc.h (r1.93 -> r1.94)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/proc.h.diff?r1=1.93&r2=1.94)

pgsql-committers by date:

Previous
From: okbob@pgfoundry.org (User Okbob)
Date:
Subject: plpsm - plpgpsm: contrib package completation
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Restructure code that is responsible for ensuring that clauseless