Обсуждение: pgsql: Restructure autovacuum in two processes: a dummy process, which

Поиск
Список
Период
Сортировка

pgsql: Restructure autovacuum in two processes: a dummy process, which

От
alvherre@postgresql.org (Alvaro Herrera)
Дата:
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)