2017-06-22 78 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