Closed Claud closed 3 years ago
Hello I do not see any issue in this log. Some other long transaction in this database is preventing processing.
Also just ~15GB is a really small table.
Do I understand you correctly? Before running pgcompacttable, do I need to stop all processes that interact with the database?
No. If you are able to stop all activity, run just native vacuum full. Otherwise you need pgcompacttable or pg_repack. pg_repack will terminate all conflicted sessions by itself. pgcompacttable not. If your database has a long transaction while processing with pgcompacttable - vacuum will not truncate empty pages at the end of the relation because they are not empty yet. Later autovacuum may (or may not, depends on emptiness of last pages in relation) truncate empty pages. Or the next time you run pgcompacttable later, when this long transaction ends.
Command:
./pgcompacttable -h localhost -U postgres -d .... -v -s --reindex-lock-timeout 2000 -t products
How can I fix it? Sorry about the big log.