Susan Cassidy <scassidy@edgewave.com> writes:
> I have a couple of backend processes that are "stuck", and do not respond to a pg_cancel_backend. This is PostgreSQL
8.3.5. The pg_cancel_backend returns true, but the process keeps running. I have also done a "kill 12345" from the
command-line,with no effect.
> We had a database crash last week, and had to reindex a bunch of tables, but this function has been working for
severaldays on the same tables that should be being used by the function_x function.
By "this function" you mean that the reindex is not finished, but
nonetheless you have got regular queries running with the corrupted
indexes?
> Any ideas on how to get the processes to go away?
It seems like a good bet that they're chasing circular links in the
corrupted indexes. "kill -9" would get rid of them, but it would force
a database-wide restart, which would also take out your reindex process,
so maybe that wouldn't be a good idea.
If they're significantly interfering with the progress of the reindex
then maybe you should bite the bullet and kill them anyway. Otherwise
I'd be inclined to let them go until you can afford a restart.
regards, tom lane