Andres Freund <andres@2ndquadrant.com> writes:
> On 2014-04-16 11:37:47 -0400, Robert Haas wrote:
>> Why can't that be handled through ereport(ERROR/FATAL) rather than
>> through the choice of exit status?
> I dislike that because it essentially requires the bgworker to have a
> full error catching environment like PostgresMain() has. That seems
> bad for many cases.
That sounds like utter nonsense. No sane bgwriter code is going to be
able to discount the possibility of something throwing an elog(ERROR).
Now, you might not need the ability to do a transaction abort, but
you'll have to at least be able to terminate the process cleanly.
regards, tom lane