On 4/10/20 1:20 PM, Andrus wrote:
Hi!
Postgres 12 does not allow to drop database if it is in use. DROP
DATABASE throws error:
postgres@template1 ERROR: database "mydb" is being accessed by other users
postgres@template1 DETAIL: There is 1 other session using the database.
postgres@template1 STATEMENT: DROP DATABASE "mydb"
How to disconnect all users from database?
Using
/etc/init.d/postgresql restart
disconnects users from all databases. How to disconnect users from one
database only ?
I looked into pgAdmin 4 but havent found such command.
pgAdmin 3 had buttons to select kill processes by database name but
those disappeared in pgAdmin 4.
How to find which users are using database and forcibly disconnect them ?
Find backends:
https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW
Kill backends:
https://www.postgresql.org/docs/12/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL
Andrus.
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx