Re: pg_dump seems to be broken in regards to the "--exclude-table-data" option on Windows.

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: pg_dump seems to be broken in regards to the "--exclude-table-data" option on Windows.
Дата
Msg-id CAKFQuwZwo2Lc3tzVagy-UwqG9YkPjiWtDfM9w4+6zupiY-oTbA@mail.gmail.com
обсуждение исходный текст
Ответ на pg_dump seems to be broken in regards to the "--exclude-table-data" option on Windows.  (tutiluren@tutanota.com)
Ответы Re: pg_dump seems to be broken in regards to the "--exclude-table-data" option on Windows.  (Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>)
Список pgsql-bugs
On Thursday, July 23, 2020, <tutiluren@tutanota.com> wrote:
After taking a longer break from my problem, I have now made a fresh, clean, scientifically conducted experiment in order to truly get to the bottom of this annoying problem once and for all.

First, I set cmd.exe to use Unicode, just to be sure:

C:\pg_dump_test>chcp 65001
Active code page: 65001

pg_dump: creating CONSTRAINT "Test schäma.Test täble Test täble_pkey"

= WORKS. The dump was successful. (In spite of weird output chars.)

C:\pg_dump_test>pg_dump --format plain --verbose --file "testdump.txt" --exclude-table-data="Test schäma.Test täble" --host="localhost" --port="5432" --username="postgres" --dbname="test"
pg_dump: last built-in OID is 16383
pg_dump: [archiver (db)] query failed: ERROR:  invalid byte sequence for encoding "UTF8": 0xe4 0x62 0x6c
pg_dump: [archiver (db)] query was: SELECT c.oid
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n
ON n.oid OPERATOR(pg_catalog.=) c.relnamespace
WHERE c.relkind OPERATOR(pg_catalog.=) ANY
(array['r', 'S', 'v', 'm', 'f', 'p'])
  AND c.relname OPERATOR(pg_catalog.~) '^(test täble)$'
  AND n.nspname OPERATOR(pg_catalog.~) '^(test schäma)$'

= FAILED. The dump was aborted with these nonsensical errors.

Finally, I tried the same command again like this:


I looked everywhere for some kind of "client-encoding" option in the pg_dump manual, but there is no such thing. The only thing I can think of is that the client's encoding (that is, pg_dump) is for some reason not set to "UTF8" even though that's the encoding of the "test" database which I'm connecting to.

The main thing here is this isn’t properly considered a bug in pg_dump but rather with most likely any client command run in the cmd.exe shell.  Or even more generally with the data flowing through the pipeline, which is libpq.  Thus what you want is a libpq option.


And here is an old, similar, bug report, with an apparent work-around (or solution depending on details that as an English Linux user I am not in a position to judge).


David J.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: tutiluren@tutanota.com
Дата:
Сообщение: pg_dump seems to be broken in regards to the "--exclude-table-data" option on Windows.
Следующее
От: Juan José Santamaría Flecha
Дата:
Сообщение: Re: pg_dump seems to be broken in regards to the "--exclude-table-data" option on Windows.