Tengo un script en PostgreSQL que restaura la base de datos de prueba del volcado todas las noches. Los servidores y procesos de la aplicación acceden a la base de datos con un grupo de conexiones que mantiene activas algunas conexiones en todo momento.PostgreSQL: deshabilitar temporalmente las conexiones
Para que el script restablezca el volcado en my_temp_database
. Luego debe cambiar el nombre de my_database
a my_old_database
, my_temp_database
a my_database
, y eventualmente colocar my_old_database
.
¿Cómo puedo desconectar todos los clientes, superusuario o no, de my_database
, para poder cambiar el nombre? ¿Cómo puedo evitar temporalmente que se vuelvan a conectar?
¿Hay una manera mejor de hacer lo que necesito?
Ha, me gustaría que trabajó en 8.3. –
En 8.3 puede intentar 'seleccionar pg_terminate_backend (pid) de pg_stat_activity;' –
@araqnid El comando "actualizar pg_database establecer datallowconn = false donde datname = 'applogs';" ¡Funciona de maravilla! "¡REVOKE CONNECT ON DATABASE" no funciona para mí! ¡ARRIBA! ¡ARRIBA! ¡ARRIBA! ¡ARRIBA! ¡ARRIBA! ¡ARRIBA! –