Thread: vacuumlo diskspace

vacuumlo diskspace

From
Sergey Kandyla
Date:
Господа,
не могу понять в чем дело, vacuumlo удаляет несколько миллионов записей,
а размер базы не изменяется.

До:
mydb=# SELECT
relname AS objectname,
relkind AS objecttype,
reltuples AS "#entries", pg_size_pretty(relpages::bigint*8*1024) AS size
FROM pg_class
WHERE relpages >= 8
ORDER BY relpages DESC;


objectname | objecttype | #entries | size
---------------------------------------------------+------------+-------------+---------
pg_largeobject | r | 7.68308e+06 | 13 GB
pg_largeobject_loid_pn_index | i | 7.66171e+06 | 198 MB
...


Vacuumlo:
-bash-3.2$ time vacuumlo -v mydb | tee vacuumlo.mydb.220513.txt
...
Removed 2343372 large objects from mydb.
real 390m22.508s
user 0m18.210s
sys 0m53.031s




После:
objectname | objecttype | #entries | size
---------------------------------------------------+------------+-------------+---------
pg_largeobject | r | 1.49123e+06 | 13 GB
pg_largeobject_loid_pn_index | i | 1.75785e+06 | 199 MB
...

Как обьяснить? Что не так?

postgresql84-server-8.4.13-1.el5_8
CentOS5 x86_64




Re: vacuumlo diskspace

From
Dmitriy Igrishin
Date:



2013/5/23 Sergey Kandyla <sk@hlsrv.com>
Господа,
не могу понять в чем дело, vacuumlo удаляет несколько миллионов записей, а размер базы не изменяется.

До:
mydb=# SELECT
relname AS objectname,
relkind AS objecttype,
reltuples AS "#entries", pg_size_pretty(relpages::bigint*8*1024) AS size
FROM pg_class
WHERE relpages >= 8
ORDER BY relpages DESC;


objectname | objecttype | #entries | size
---------------------------------------------------+------------+-------------+---------
pg_largeobject | r | 7.68308e+06 | 13 GB
pg_largeobject_loid_pn_index | i | 7.66171e+06 | 198 MB
...


Vacuumlo:
-bash-3.2$ time vacuumlo -v mydb | tee vacuumlo.mydb.220513.txt
...
Removed 2343372 large objects from mydb.
real 390m22.508s
user 0m18.210s
sys 0m53.031s




После:
objectname | objecttype | #entries | size
---------------------------------------------------+------------+-------------+---------
pg_largeobject | r | 1.49123e+06 | 13 GB
pg_largeobject_loid_pn_index | i | 1.75785e+06 | 199 MB
...

Как обьяснить? Что не так?
Согласно документации, vacuumlo не выполняет VACUUM, а просто
удаляет осиротевшие объекты. Отсюда следует, чтобы освободить
место нужно выполнить VACUUM для pg_largeobject вручную.

--
// Dmitriy.