Обсуждение: pgsql: Make TRUNCATE do truncate-in-place when processing a relation

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

pgsql: Make TRUNCATE do truncate-in-place when processing a relation

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Make TRUNCATE do truncate-in-place when processing a relation that was created
or previously truncated in the current (sub)transaction.  This is safe since
if the (sub)transaction later rolls back, we'd just discard the rel's current
physical file anyway.  This avoids unreasonable growth in the number of
transient files when a relation is repeatedly truncated.  Per a performance
gripe a couple weeks ago from Todd Cook.

Modified Files:
--------------
    pgsql/src/backend/catalog:
        heap.c (r1.357 -> r1.358)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c?r1=1.357&r2=1.358)
    pgsql/src/backend/commands:
        tablecmds.c (r1.297 -> r1.298)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c?r1=1.297&r2=1.298)
    pgsql/src/include/catalog:
        heap.h (r1.91 -> r1.92)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/heap.h?r1=1.91&r2=1.92)