Cuando en plesk, a la hora de modificar un usuario, crear una bd o realizar cualquier tarea con postgre, nos dice algo asi:
FATAL: 54000: la base de datos no está aceptando comandos para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base <>
HINT: Pare el proceso postmaster y utilice una conexión aislada para limpiar (vacuum) la base <>
LOCATION: GetNewTransactionId, varsup.c:72
es que, ademas de ser unos vagos (ese mantenimiento habitual...!) tenemos un problema. Toca parar el servicio de postgre y ejecutar vacuum con una conexion stand-alone. Para ello, empezamos parando el postgre:
# /etc/init.d/postgresql stop
Una vez parado, nos ponemos con el usuario postgres
# su - postgres
Y, una vez ahi, abrimos la "conexion aislada" que nos decia plesk:
# postgres postgres
En este caso, la hemos abierto para la bd "postgres". Si se quejase de la bd "manolo", pues seria asi:
# postgres manolo
Cuando estemos en el backend, tendremos que ejecutar vacuum, yo lo hago asi:
backend> VACUUM FULL
y a esperar.. que puede ser un buen rato. Una vez hecho esto, lanzamos de nuevo postgre.. en alguna ocasion es posible que lo tengais que hacer a todas las bases de datos o, incluso, que mientras se hace, os diga que otras bbdd lo necesitan. Pues ya sabeis, abris el postgres para esas y lo ejecutais tambien.
pd: si habeis llegado a este punto, os vendria bien tener un backup a mano