强制单个受损角色与PostgresQL断开连接?

时间:2019-04-25 04:51:28

标签: postgresql security

我正在寻找一种方法,可以立即从PostgresQL数据库中断开一个已知的不良演员角色。我想阻止他们尽快进行进一步的更改,并且不希望他们能够立即重新连接并继续。我不希望这破坏当前正在数据库上运行的任何其他连接。

我在这里看到了一些信息,但是目前尚不清楚如何将其干净地应用于此案例:Force client disconnect using PostgreSQL

1 个答案:

答案 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';