On Sat, Apr 3, 2010 at 9:02 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Apr 3, 2010, at 11:13 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Peter Eisentraut <peter_e@gmx.net> writes:
>>> The following messages from the postgres catalog either appear to be
>>> internal errors that should be marked differently, or they are in my
>>> estimation unintelligible to users and should be rephrased.
>>
>>> #: commands/async.c:1424
>>> msgid "pg_notify queue is %.0f%% full"
>>
>> This one is probably my responsibility (the others all look like
>> Simon's
>> code). What do you not like about it, exactly? Perhaps it should be
>> "NOTIFY queue is x% full"?
>
> I think maybe the question is why the user should care, or what they
> are expected to do about it?
The user/administrator should make sure that all backends work through
the list of pending notifications. He does it by making sure that
there are no long-running or idle-in-transaction backends.
Actually there is more information given via errdetail and errhint:
ereport(WARNING, (errmsg("pg_notify queue is %.0f%% full", fillDegree * 100), (minPid != InvalidPid ?
errdetail("PID%d is among the slowest backends.", minPid) : 0), (minPid != InvalidPid ? errhint("Cleanup
canonly proceed if this backend ends its current
transaction.") : 0)));
Peter, if you consider the additional information given here, do you
still see an issue?
Joachim