我正在寻找一种方法,可以立即从PostgresQL数据库中断开一个已知的不良演员角色。我想阻止他们尽快进行进一步的更改,并且不希望他们能够立即重新连接并继续。我不希望这破坏当前正在数据库上运行的任何其他连接。
我在这里看到了一些信息,但是目前尚不清楚如何将其干净地应用于此案例:Force client disconnect using PostgreSQL
答案 0 :(得分:1)
从PostgresQL 11.2开始,如果您有问题的角色是“ baduser”,则可以在psql中运行以下命令。
-- to prevent further connections from this user
ALTER ROLE baduser WITH NOLOGIN;
-- to terminate current connection from this user
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE usename = 'baduser';