Re: Killing a session on windows

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

Re: Killing a session on windows

От:
"Bill Bartlett" <bbartlett@softwareanalytics.com>
Дата:
Use "select pg_cancel_backend()" instead -- we have to do this periodically
when queries get timed out by the web server but Postgres doesn't notice /
doesn't get notified...

- Bill

-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Howard Cole
Sent: Thursday, November 29, 2007 5:55 AM
To: 'PgSql General'
Subject: [GENERAL] Killing a session on windows


I have a database I want to drop on a windows server. Unfortunately I 
cannot restart postgres because it is running several live database.

To kill the offending session, I tried select * from pg_stat_activity to 
find the PID of the session, and then tried to kill it with command line:

taskkill /f /pid 1234

This appeared to kill the session, but postgres still thinks the session 
is live with the same process id.

Using the SysInternals process explorer - there doesn't appear to be a 
process with the given ID.

How can I get postgres to drop this session?

Thanks

Howard Cole
www.selestial.com

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to majordomo@postgresql.org so that your
       message can get through to the mailing list cleanly


Killing a session on windows

От:
Howard Cole <howardnews@selestial.com>
Дата:

I have a database I want to drop on a windows server. Unfortunately I 
cannot restart postgres because it is running several live database.

To kill the offending session, I tried select * from pg_stat_activity to 
find the PID of the session, and then tried to kill it with command line:

taskkill /f /pid 1234

This appeared to kill the session, but postgres still thinks the session 
is live with the same process id.

Using the SysInternals process explorer - there doesn't appear to be a 
process with the given ID.

How can I get postgres to drop this session?

Thanks

Howard Cole
www.selestial.com

Re: Killing a session on windows

От:
Richard Huxton <dev@archonet.com>
Дата:
Howard Cole wrote:
> 
> I have a database I want to drop on a windows server. Unfortunately I 
> cannot restart postgres because it is running several live database.
> 
> To kill the offending session, I tried select * from pg_stat_activity to 
> find the PID of the session, and then tried to kill it with command line:
> 
> taskkill /f /pid 1234
> 
> This appeared to kill the session, but postgres still thinks the session 
> is live with the same process id.

Hmm - some signalling glitch presumably. Was it not possible to identify 
the client and disconnect that?

> Using the SysInternals process explorer - there doesn't appear to be a 
> process with the given ID.
> 
> How can I get postgres to drop this session?

You could try pg_cancel_backend() - not sure what happens if it can't 
find the process though.

http://www.postgresql.org/docs/8.2/static/functions-admin.html

-- 
   Richard Huxton
   Archonet Ltd
FAQ