På onsdag 15. april 2015 kl. 04:34:31, skrev Venkata Balaji N <nag1...@gmail.com <mailto:nag1...@gmail.com>>: I'm planning to vacuum FULL a pg_largeobject relation (after vacuumlo'ing it). The relation is 300GB large so I'm concerned the operation will write full my pg_xlog directory which is on a 200GB (net) RAID1 SSD. Where does vacuum FULL rewrite to, does it use pg_xlog or some other directory? Which version of PostgreSQL is this ? If i got your question correctly, VACUUM FULL would rewrite the data to a new data file associated with that particular relation (Table) in the "$PGDATA/base" directory. This needs an extra disk space at the OS level (this is not related to pg_xlog directory).
As VACUUMING is a data change operation, "pg_xlog" will also have only the WAL data (modifications) written at the time of VACUUMING. http://www.postgresql.org/docs/9.4/static/sql-vacuum.html <http://www.postgresql.org/docs/9.4/static/sql-vacuum.html> This is PG-9.3 So I understand that VACUUM FULL writes the new table to the same tablespace as the original table (also for system-catalogs like pg_largeobject), and doesn't use any temp-space outside the location of that tablespace? Thanks. -- Andreas Joseph Krogh CTO / Partner - Visena AS Mobile: +47 909 56 963 andr...@visena.com <mailto:andr...@visena.com> www.visena.com <https://www.visena.com> <https://www.visena.com>