I wrote: > I suspect whoever wrote this thought pg_log_error is equivalent > to elog(ERROR), but it's not; it just prints a message. It seems > highly unlikely to me that continuing onwards will result in a > good outcome. I'm a bit inclined to s/pg_log_error/pg_fatal/ > throughout these files, at least in places where there's no > visible effort to handle the error.
After looking through fe_utils, pg_dump, pg_basebackup, and pg_verifybackup, I found the attached places that seem to need cleanup. There are a couple other places where we are not treating failures as fatal, but those seem intentional, eg not fatal'ing on close() failure for an input file.
regards, tom lane
I also thought pg_log_error behaves the same way as elog(ERROR). Noted now.
The cleanup looks good to me. I also did a broader search, and didn't find a more similar place to clean up.