Я спробував багато різних рішень для відновлення резервного копіювання постгрес. Я зіткнувся з дозволом, який заперечував проблеми на MacOS, але рішення, здавалося, не спрацювало.
Ось як я змусив його працювати:
Postgres поставляється з Pgadmin4. Якщо ви використовуєте macOS, ви можете натиснути CMD
+ SPACE
та ввести його pgadmin4
для запуску. Це відкриє вкладку браузера в хромі.
Якщо у вас виникли помилки, коли pgadmin4 працює, спробуйте killall pgAdmin4
у своєму терміналі, а потім повторіть спробу.
Кроки до отримання pgadmin4 + резервного копіювання / відновлення
1. Створіть резервну копію
Зробіть це, натиснувши правою кнопкою миші базу даних -> "резервна копія"
2. Дайте ім'я файлу.
Як test12345
. Клацніть резервну копію. Це створює дамп двійкового файлу, він не у .sql
форматі
3. Подивіться, де це завантажено
У нижній частині екрана має бути спливаюче вікно. Клацніть на сторінці "Докладніші відомості", щоб побачити, куди завантажено резервну копію
4. Знайдіть місце завантаженого файлу
У цьому випадку це /users/vincenttang
5. Відновіть резервну копію з pgadmin
Якщо припустити, що ви зробили кроки 1 - 4 правильно, у вас з'явиться двійковий файл відновлення. Можливо, настане час, коли ваш колега захоче використати файл відновлення на локальній машині. Сказали людині піти на pgadmin та відновити
Зробіть це, натиснувши правою кнопкою миші базу даних -> "відновити"
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
заява, раніше в сценарії, не вдалася. Перегляньте повний вихід імпорту, щоб знайти його.