PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL:disabilita temporaneamente le connessioni

Per contrassegnare gli "applog" del database come se non accettano nuove connessioni:

update pg_database set datallowconn = false where datname = 'applogs';

Un'altra possibilità sarebbe revocare l'accesso "connect" al database per i ruoli client.

Disconnetti gli utenti dal database =uccidi il backend. Quindi per disconnettere tutti gli altri utenti dal database "applogs", ad esempio:

select pg_terminate_backend(procpid)
from pg_stat_activity
where datname = 'applogs' and procpid <> pg_backend_pid();

Una volta che hai fatto entrambe le cose, sei l'unico utente connesso ad "applogs". Anche se potrebbe effettivamente esserci un ritardo prima che i backend finiscano effettivamente di disconnettersi?