2017-06-22 33 views
1

我正在从intellij内的postgres DB上工作。我触发一个脚本(一个makefile)来重置数据库和其他东西。要执行该脚本,必须关闭来自intellij的开放数据库连接。我可以通过点击关闭连接手动执行该操作,但是我想将其自动化。关闭intellij的postgres连接

有没有办法关闭intellij与外部数据的数据库连接?

+0

>要执行脚本,从将的IntelliJ开放数据库连接必须关闭。 您是否从IDE执行脚本?你能否澄清一下,为什么你需要终止现有的连接? 您可以为数据库工具窗口指定一个快捷方式,并使用快捷方式导航到该工具窗口,然后通过Ctrl/CMD + F2快捷方式终止连接。您可以将Marto分配到以下操作:https://www.jetbrains.com/help/idea/using-macros-in-the-editor.html – Andrey

+0

我正在从intellij的控制台运行脚本。它尝试删除数据库但不能生成错误: dropdb:数据库删除失败:错误:数据库正在被其他用户访问 – Zian

+1

我看到的唯一方法是从外部终止进程。 – Andrey

回答

0

我创建了一个由makefile执行的shell脚本。

它连接到数据库,并断开活动会话(煤矿除外):

psql --host=127.0.0.1 --port=5432 --dbname=name -c "SELECT 
pg_terminate_backend(pg_stat_activity.pid) FROM 
pg_stat_activity WHERE datname = current_database() AND 
pid <> pg_backend_pid();" 
0

我看到的不是从IDE关闭连接的唯一方法是在您的OS进程树中找到相应的由IDE为连接创建的java进程并将其终止。

要从IDE快速关闭它,您可以为数据库工具窗口指定一个快捷方式,并使用此快捷方式导航到该窗口,然后通过Ctrl/CMD + F2快捷方式终止连接。您可以为这些操作分配一个Macro