| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Владимир Фролов <frolov(dot)vova(at)gmail(dot)com> |
| Cc: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
| Subject: | Re: pg_dumpall bug exit code 0 with fatal |
| Date: | 2026-04-23 21:42:43 |
| Message-ID: | 1498863.1776980563@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
=?UTF-8?B?0JLQu9Cw0LTQuNC80LjRgCDQpNGA0L7Qu9C+0LI=?= <frolov(dot)vova(at)gmail(dot)com> writes:
> I have installed two nodes cluster- PostgreSQL 16.3 (Debian
> 16.3-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian
> 12.2.0-14) 12.2.0, 64-bit with wal logical replication. When i run
> pgdump_all - i have error -
> pg_dump: error: Dumping the contents of table "*****" failed: PQgetResult()
> failed.
> pg_dump: detail: Error message from server: ERROR: canceling statement due
> to conflict with recovery
> DETAIL: User query might have needed to see row versions that must be
> removed.
> pg_dump: detail: Command was: COPY **** ( **** ) TO stdout;
> pg_dumpall: error: pg_dump failed on database "**********", exiting
> it is normal, BUT! exit code is 0!
That's pretty hard to believe. pg_dumpall emits that message only
here:
ret = runPgDump(dbname, create_opts);
if (ret != 0)
pg_fatal("pg_dump failed on database \"%s\", exiting", dbname);
and pg_fatal is defined here (logging.h):
/*
* A common shortcut: pg_log_error() and immediately exit(1).
*/
#define pg_fatal(...) do { \
pg_log_generic(PG_LOG_ERROR, PG_LOG_PRIMARY, __VA_ARGS__); \
exit(1); \
} while(0)
So the exit code definitely should have been 1. Maybe you have some
kind of wrapper around pg_dumpall that is failing to pass the exit
code through correctly?
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2026-04-23 22:14:18 | Re: to_date()/to_timestamp() silently accept month=0 and day=0 |
| Previous Message | Tom Lane | 2026-04-23 21:28:55 | Re: Chinese translations not applied correctly on PostgreSQL 18 Windows |