In pg_restore's dump_lo_buf(), work a little harder on error handling.
Tom Lane <tgl@sss.pgh.pa.us>
In pg_restore's dump_lo_buf(), work a little harder on error handling. Failure to write data to a large object during restore led to an ugly and uninformative error message. To add insult to injury, it then fatal'd out, where other SQL-level errors usually result in pressing on. Report the underlying error condition, rather than just giving not-very- useful byte counts, and use warn_or_exit_horribly() so as to adhere to pg_restore's general policy about whether to continue or not. Also recognize that lo_write() returns int not size_t. Per report from Justin Pryzby, though I didn't use his patch. Given the lack of comparable complaints, I'm not sure this is worth back-patching. Discussion: https://postgr.es/m/20201018010232.GF9241@telsasoft.com
Files
| Path | Change | +/− |
|---|---|---|
| src/bin/pg_dump/pg_backup_archiver.c | modified | +7 −6 |
Discussion
- pg_restore error message during ENOSPC with largeobj 3 messages · 2020-10-18