I'm on Postgresql 9.3.
I have a monstrous pg_toast table, pg_toast_675632
, taking up 27 GB.
Unless I am misunderstanding, this pg_toast_675632
is so large because I had a large json
column in the data table that the pg_toast_675632
is related to, my_table
. So I massively simplified the json in my_table
(i.e from json with 100 elements down to 2-5 elements). However, after autovacuum the pg_toast_675632
is still 27 GB. Is this because autovacuum doesn't return reclaimed space to disk? See the 3rd paragraph of 23.1.2 at this link.
- So based on the documentation at the above link do I need to manually run
VACUUM (FULL) pg_toast_675632
?
I know that VACUUM (FULL)
takes a long time and will lock the pg_toast_675632
from writes for the duration.
- What are the risks of
VACUUM FULL pg_toast_675632
? Would this be equivalent to lockingmy_table
since that's whatpg_toast-675632
is related to?