Попытка выгрузить базу данных PostgreSQL-10, работающую на компьютере с CentOS 7, и восстановить ее на компьютере с Windows 10 - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь выполнить резервное копирование моей базы данных PostgreSQL-10, работающей на компьютере с CentOS 7, а затем восстановить ее на машине для разработки под управлением Windows 10, но я получаю ошибки в процессе восстановления:

pg_restore: [custom archiver] WARNING: ftell mismatch with expected position -- ftell used

Я убедился, что параметры команд, передаваемые в dump и restore, одинаковы:

pg_dump --format=c --compress=9 --encoding=UTF-8 -n public --verbose --username=postgres databaseName -W -f /usr/local/production-dump.backup

Однако это не работает вообще.Несмотря на то, что схема восстановлена, данные - нет, поскольку непосредственно перед началом процесса восстановления начинается восстановление данных, но выдает ошибку «конвейер завершен» и не продолжается полный процесс восстановления.Я использую «пользовательский» формат, потому что простые форматы SQL или tar генерируют огромные файлы резервных копий.

Что я делаю не так?Есть ли какой-либо параметр, который мне нужно передать в команды dump или restore?

1 Ответ

0 голосов
/ 21 ноября 2018

Вероятное объяснение состоит в том, что файл был изменен во время передачи файла. Не могли бы вы вычислить контрольную сумму файла до и после передачи и убедиться, что он одинаковый?

Если файл не изменился, то, возможно, вы обнаружили ошибку PostgreSQL. Если у вас есть дамп, которым вы можете поделиться, и который показывает проблему, пожалуйста, сообщите об этой проблеме в PostgreSQL.

...