Thread: cannot execute VACUUM during recovery
Hello Team,
We are using a PostgreSQL 9.6 and seeing the below error while trying to run a VACUUM on one of our live tables running in Production. We wanted to clean up some DEAD tuples on the table.
Command: VACUUM (ANALYZE,VERBOSE) table_name.
ERROR: cannot execute VACUUM during recovery
Thanks
Kranthi
Are you running Vacuum on the slave node? It has to run on the master.
Thanks,
– Stephen
On Feb 27, 2019, 6:43 AM -0800, github kran <githubkran@gmail.com>, wrote:
Hello Team,We are using a PostgreSQL 9.6 and seeing the below error while trying to run a VACUUM on one of our live tables running in Production. We wanted to clean up some DEAD tuples on the table.Command: VACUUM (ANALYZE,VERBOSE) table_name.ERROR: cannot execute VACUUM during recoveryThanksKranthi
On Wed, Feb 27, 2019 at 10:39:10AM -0800, Stephen Eilert wrote: > Are you running Vacuum on the slave node? It has to run on the master. VACUUM performs an equivalent write activity so it has to be restricted. ANALYZE can work though. -- Michael
Attachment
On Wed, Feb 27, 2019 at 12:39 PM Stephen Eilert <contact@stepheneilert.com> wrote:
Are you running Vacuum on the slave node? It has to run on the master.Thanks,– Stephen
Thanks Stephen for your advice Iam running the VACUUM command from 2 of the linux instances using the below command. We were running some scripts from these linux boxes and surprised to see 1 works the other does not so wondering why does it happen.
Command: VACUUM VERBOSE myTableTest;
1) Running from Linux Instance1
Command Iam running -> psql -h clusterName -U myUserName -d myPostgresDB
There is no .pgpass setup on this linux instance so I had to manually enter the password here. VACUUM on the table Iam running does not work and throws an error as ERROR: cannot execute VACUUM during recovery
2) Running from Linux Instance2
Command Iam running -> psql -d myPostgresDB -h clusterName -U myUserName
This option had a .pgpass file at the root in this linux instance and I did not pass any password here, the
VACUUM on the table Iam running works.
pgpass is setup here and contains -> clusterName:5432:myPostgresDB:myUserName:myDBPassword
Thanks
- Kran.
On Feb 27, 2019, 6:43 AM -0800, github kran <githubkran@gmail.com>, wrote:Hello Team,We are using a PostgreSQL 9.6 and seeing the below error while trying to run a VACUUM on one of our live tables running in Production. We wanted to clean up some DEAD tuples on the table.Command: VACUUM (ANALYZE,VERBOSE) table_name.ERROR: cannot execute VACUUM during recoveryThanksKran