Обсуждение: Closing all existing PostgreSQL database connections

Поиск
Список
Период
Сортировка

Closing all existing PostgreSQL database connections

От
Norbert Radyk
Дата:
Hi,

I've got a question about PostgreSQL JDBC API. Is there any way to
close all existing & open connections to the particular database. I
mean the connections made by some external programs too.

I simply need to drop the database to which there are some open
external connections. I cannot get the java.sql.Connection object in
order to close the connection, but maybe there is some other way to do
this?

Regards, Norbert


Re: Closing all existing PostgreSQL database connections

От
Heikki Linnakangas
Дата:
Norbert Radyk wrote:
> I've got a question about PostgreSQL JDBC API. Is there any way to
> close all existing & open connections to the particular database. I
> mean the connections made by some external programs too.
>
> I simply need to drop the database to which there are some open
> external connections. I cannot get the java.sql.Connection object in
> order to close the connection, but maybe there is some other way to do
> this?

Unfortunately there's no supported way to terminate individual backends.

 From command line, you can use "kill" to do that, but it's not a very
well-tested codepath and it's not officially supported. IOW, not
recommended on production servers.

There's also a tool called "cutter", which let's you terminate any
TCP/IP connection: http://www.lowth.com/cutter/. I've never used that
myself, but it seems like a safe option.

The easiest option is to just restart postmaster.

--
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com