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