cannot execute VACUUM during recovery

Started by github kranabout 7 years ago4 messagesgeneral
Jump to latest
#1github kran
githubkran@gmail.com

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

#2Stephen Eilert
contact@stepheneilert.com
In reply to: github kran (#1)
Re: cannot execute VACUUM during recovery

Are you running Vacuum on the slave node? It has to run on the master.

Thanks,

– Stephen

Show quoted text

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 recovery

Thanks
Kranthi

#3Michael Paquier
michael@paquier.xyz
In reply to: Stephen Eilert (#2)
Re: cannot execute VACUUM during recovery

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

#4github kran
githubkran@gmail.com
In reply to: Stephen Eilert (#2)
Re: cannot execute VACUUM during recovery

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.

Show quoted text

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 recovery

Thanks
Kran