Я пробовал много разных решений для восстановления моей резервной копии postgres. Я столкнулся с проблемами, в которых отказано в разрешении на MacOS, но решения, похоже, не работали.
Вот как я заставил это работать:
Postgres поставляется с Pgadmin4. Если вы используете macOS, вы можете нажатьCMD
+ SPACE
и набрать, pgadmin4
чтобы запустить его. Это откроет вкладку браузера в Chrome.
Если вы сталкиваетесь с ошибками, заставляющими pgadmin4 работать, попробуйте killall pgAdmin4
в своем терминале, а затем повторите попытку.
Шаги для получения pgadmin4 + резервного копирования / восстановления
1. Создайте резервную копию
Сделайте это, щелкнув правой кнопкой мыши базу данных -> «резервное копирование»
2. Дайте файлу имя.
Как test12345
. Нажмите кнопку резервного копирования. Это создает дамп двоичного файла, он не в .sql
формате
3. Посмотрите, где он скачал
Там должно быть всплывающее окно в нижней части экрана. Нажмите на страницу «подробнее», чтобы увидеть, куда была загружена ваша резервная копия
4. Найдите местоположение загруженного файла
В этом случае это /users/vincenttang
5. Восстановите резервную копию из pgadmin
Если вы правильно выполнили шаги с 1 по 4, у вас будет восстановленный двоичный файл. Может случиться, что ваш коллега захочет использовать ваш файл восстановления на своей локальной машине. Сказал ли человек пойти в пгадмин и восстановить
Сделайте это, щелкнув правой кнопкой мыши базу данных -> «восстановить»
6. Выберите поиск файлов
Убедитесь, что вы выбрали местоположение файла вручную, НЕ перетаскивайте файл в поля загрузки в pgadmin. Потому что вы столкнетесь с ошибками разрешений. Вместо этого найдите файл, который вы только что создали:
7. Найти указанный файл
Возможно, вам придется изменить фильтр внизу на «Все файлы». Затем найдите файл, начиная с шага 4. Теперь нажмите правую нижнюю кнопку «Выбрать», чтобы подтвердить
8. Восстановить указанный файл
Вы снова увидите эту страницу с выбранным местоположением файла. Идите вперед и восстановите его
9. Успех
Если все хорошо, в правом нижнем углу должен появиться индикатор, показывающий успешное восстановление. Вы можете перейти к своим таблицам, чтобы увидеть, были ли данные восстановлены надлежащим образом в каждой таблице.
10. Если это не удалось:
В случае сбоя шага 9 попробуйте удалить старую общедоступную схему в вашей базе данных. Перейти к «Инструменту запроса»
Выполните этот блок кода:
DROP SCHEMA public CASCADE; CREATE SCHEMA public;
Теперь повторите шаги с 5 по 9, это должно сработать
Резюме
Вот как я должен был сделать резервную копию / восстановить свою резервную копию на Postgres, когда у меня были проблемы с разрешением ошибок и я не мог войти в систему как суперпользователь. Или установите учетные данные для чтения / записи, используя chmod
для папок. Этот рабочий процесс работает для дампа двоичного файла по умолчанию «Custom» из pgadmin. Я предполагаю .sql
, что так же, но я еще не проверял, что
ERROR: syntax error at or near "t"
. Оказалось, что я импортировал только частичную схему, и, таким образом,CREATE TABLE
оператор в сценарии ранее потерпел неудачу. Просмотрите весь вывод импорта, чтобы найти его.