Fix up pg_dump to do string escaping fully correctly for client encoding
Tom Lane <tgl@sss.pgh.pa.us>
Fix up pg_dump to do string escaping fully correctly for client encoding and standard_conforming_strings; likewise for the other client programs that need it. As per previous discussion, a pg_dump dump now conforms to the standard_conforming_strings setting of the source database. We don't use E'' syntax in the dump, thereby improving portability of the SQL. I added a SET escape_strings_warning = off command to keep the dumps from getting a lot of back-chatter from that.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/quote.c | modified | +17 −10 |
| src/backend/utils/adt/ruleutils.c | modified | +19 −29 |
| src/bin/pg_dump/dumputils.c | modified | +84 −59 |
| src/bin/pg_dump/dumputils.h | modified | +5 −4 |
| src/bin/pg_dump/pg_backup_archiver.c | modified | +75 −22 |
| src/bin/pg_dump/pg_backup_archiver.h | modified | +4 −1 |
| src/bin/pg_dump/pg_backup.h | modified | +8 −1 |
| src/bin/pg_dump/pg_dumpall.c | modified | +36 −14 |
| src/bin/pg_dump/pg_dump.c | modified | +68 −102 |
| src/bin/psql/describe.c | modified | +41 −29 |
| src/bin/psql/large_obj.c | modified | +3 −16 |
| src/bin/scripts/createdb.c | modified | +4 −3 |
| src/bin/scripts/createuser.c | modified | +6 −6 |
| src/include/c.h | modified | +6 −5 |
| src/interfaces/libpq/fe-exec.c | modified | +2 −3 |