#postgresql #pgadmin-4 #pg-restore
#postgresql #pgadmin-4 #pg-восстановление
Вопрос:
Я пытался восстановить файл дампа dump-postgres-202010121008.sql, но он не будет восстановлен, я пробовал следующие методы восстановления, но, похоже, это бесполезно:
Метод1: использование pgAdmin 4
Я попробовал метод pg_restore со следующими входными данными:
Формат: пользовательский или tar
Имя файла: путь к файлу
Количество заданий: пусто
Имя роли: postgres
Когда я нажимаю восстановить, я получаю Failed(exit code: 1)
следующее сообщение об ошибке:
pg_restore: error: input file does not appear to be a valid archive
Я также попробовал Инструмент запроса> открыть файл, но все равно получил сообщение об ошибке File type not supported
.
Способ 2: использование командной строки
Я попробовал команду pg_restore на терминале, но она вернулась pg_restore: error: input file does not appear to be a valid archive
Я также попробовал следующие команды:
su postgres
psql postgres
i dump-postgres-202010121008.sql
Однако я получил этот журнал:
psql:dump-postgres-202010121008:42473: error: invalid command ��0�8�ӛӣ��X�H6����.�y�:���e�ne��Pc�9x@%"˔U�rV7M=�
psql:dump-postgres-202010121008.sql:42474: error: invalid command �T����kW:����Һ�-kL
psql:dump-postgres-202010121008.sql:42484: error: invalid command M�LJ,�ϐ}�c,J�-�)ATo▒�HJ�� w
psql:dump-postgres-202010121008.sql:783003: ERROR: invalid byte sequence for encoding "UTF8": 0xea 0xab 0x7a
Любая помощь будет признательна, спасибо.
Комментарии:
1. Какая команда сгенерировала дамп?
2. здравствуйте, мне дали этот дамп для тестирования приложения, поэтому я понятия не имею, что это за команда, нужна ли мне команда, которая сгенерировала это немое, чтобы восстановить его?
3. обновление: файл дампа генерируется dbeaver
4. Проблема все та же, DBeaver позволяет вам выбирать между
pg_dump
иpg_dumpall
. Вы также можете изменить любой параметр. Похоже, ваша проблема связана с пользовательским режимом и кодировкой. Но невозможно сказать, не имея файла дампа. Я настоятельно рекомендую вам получить информацию о формате дампа для правильного восстановления и восстановления. Всегда помните, что резервное копирование завершено, когда доказано, что его можно восстановить. Сброс файла — это только первый шаг резервного копирования.5. Привет @jlandercy, спасибо за ваш ответ. Как вы сказали, проблема была в кодировке файла дампа. При сбросе вы должны настроить кодировку файла дампа, чтобы он соответствовал кодировке вашей базы данных. В моем случае кодировка файла и кодировка базы данных были разными, поэтому при выборе базы данных и восстановлении файла дампа он выдавал ошибку.