如何通过应用程序关闭所有postgres连接

时间:2015-05-11 12:25:03

标签: java postgresql connection

我想为我的jsf应用添加恢复功能。

我需要恢复sql文件,但是我与PostgreSQL的连接阻止了我这样做。

如何关闭所有与数据库的连接以恢复sql文件?

我正在使用连接池并销毁所有连接,但PostgreSQL告诉我有一个打开的会话

/**
 * destroy postgresql connection pool
 */
public static void releasePostgresPool() {
    postgresConnectionPool.destroy();
}

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询关闭数据库端的所有postgresql连接:

select pg_terminate_backend(pid) from pg_stat_activity where pid <> pg_backend_pid();

不确定它是否是正确的应用方式(它应该能够在此之后重新连接)。