Re: How to know killed by pg_terminate_backend - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: How to know killed by pg_terminate_backend
Date
Msg-id 20100514.092043.71478914.t-ishii@sraoss.co.jp
Whole thread Raw
In response to Re: How to know killed by pg_terminate_backend  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: How to know killed by pg_terminate_backend
List pgsql-hackers
> > Maybe we could make PostgreSQL a little bit smarter so that it returns
> > a different code than 57P01 when killed by pg_terminate_backend().
> 
> Seems reasonable. Does the victim backend currently know why it has been
> killed?

I don't think so.

One idea is postmaster sets a flag in the shared memory area
indicating it rceived SIGTERM before forwarding the signal to
backends.

Backend check the flag and if it's not set, it knows that the signal
has been sent by pg_terminate_backend(), not postmaster.

What about new error code:

#define ERRCODE_BACKEND_STOP_REQUEST                MAKE_SQLSTATE('5','7', 'P','0','4')
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


pgsql-hackers by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: pg_upgrade code questions
Next
From: Bruce Momjian
Date:
Subject: Re: Re: [COMMITTERS] pgsql: Add PGFILEDESC description to Makefiles for all /contrib