gpt4 book ai didi

sql - psql: FATAL: 角色连接太多

转载 作者:行者123 更新时间:2023-11-29 11:16:58 25 4
gpt4 key购买 nike

我尝试使用以下命令连接到数据库服务器:

psql -h host_ip -d db_name -U user_name --password

它显示以下行并拒绝连接。

psql: FATAL:  too many connections for role "user_name".

如何关闭事件连接?
我没有数据库的管理员权限。我只是一个普通用户。

最佳答案

从集群的任何数据库中:

陷阱 22:您需要先连接到数据库。也许您可以作为另一个用户连接? (默认情况下,某些连接是为具有 superuser_reserved_connections 设置的 super 用户保留的。)

获取该用户每次连接的详细信息:

SELECT *
FROM pg_stat_activity
WHERE usename = 'user_name';

作为同一用户或作为 super 用户,您可以取消用户的所有(其他)连接:

SELECT pg_cancel_backend(pid)     -- (SIGINT)
-- pg_terminate_backend(pid) -- the less patient alternative (SIGTERM)
FROM pg_stat_activity
WHERE usename = 'user_name'
AND pid <> pg_backend_pid();

最好确保这样做没有问题。您不希望以这种方式终止重要的查询(或连接)。

pg_cancel_backend() and pg_terminate_backend() in the manual.

从 Linux shell

您是否自己启动了其他连接?也许是你的挂字?你应该能够杀死那些(如果你确定这样做没问题的话)。

您可以使用 ps 调查哪些进程可能有问题:

ps -aux
ps -aux | grep psql

如果您确定要终止的进程(最好确定,您不想终止服务器):

kill  123457689 # pid of process here.

或者使用 SIGKILL 而不是 SIGTERM:

kill -9 123457689

关于sql - psql: FATAL: 角色连接太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25058649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com