| From: | Kunshchikov Vladimir <Vladimir(dot)Kunshchikov(at)infotecs(dot)ru> |
|---|---|
| To: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | [patch] pg_dump/pg_restore zerror() and strerror() mishap |
| Date: | 2017-06-22 08:46:21 |
| Message-ID: | 1498120508308.9826@infotecs.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hello,
our testing team has noticed apparently wrong backup/restore error messages like this:
pg_restore: [compress_io] could not read from input file: success
pg_dump: [directory archiver] could not write to output file: success
Such "success" messages are caused by calling strerror() after gzread()/gzwrite() failures.
In order to properly decode errors, there should be used gzerror() instead of strerror():
http://refspecs.linuxbase.org/LSB_2.1.0/LSB-generic/LSB-generic/zlib-gzerror-1.html
Errors should be like this:
pg_restore: [compress_io] could not read from input file: d3/2811.dat.gz: invalid distance too far back
Attached small fix for this issue.
You can view that patch online on our github:
https://github.com/Infotecs/postgres/commit/1578f5011ad22d78ae059a4ef0924426fd6db762
--
Best regards,
Vladimir Kunschikov
Lead software developer
IDS project
InfoTeCS JSC
| Attachment | Content-Type | Size |
|---|---|---|
| strerror-gzerror-zlib.patch | text/x-patch | 4.7 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Yugo Nagata | 2017-06-22 08:56:38 | Re: Incorrect documentation about pg_stat_activity |
| Previous Message | Ashutosh Bapat | 2017-06-22 08:44:53 | Re: Incorrect documentation about pg_stat_activity |