Thread: Forcibly disconnect users from one database
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 ? Andrus.
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@aklaver.com