Как сделать резервную копию базы данных PostgreSQL из контейнера Docker с помощью DBeaver?

У меня есть база данных Postgres, работающая в контейнере докеров на моем компьютере (под управлением Ubuntu 20.04 Beta), и мне нужно сделать резервную копию Это.

Я использую DBeaver 7.0.2 для управления базой данных, но когда я пытаюсь использовать инструмент резервного копирования, он просит меня установить собственный клиент. Когда я щелкаю раскрывающийся список, у меня есть только один вариант - просмотреть , но затем появляется следующее окно:

изображение окна

Я понятия не имею, что мне нужно сюда поместить; в документации ничего полезного не нашел; и в каждом учебном пособии, которое я нахожу в Интернете, в выпадающем списке нативного клиента есть другие варианты, что не в моем случае. Кто-нибудь может помочь?

0
задан 16 April 2020 в 16:23

1 ответ

Я пытался сделать это так же, как и вы, и столкнулся с той же проблемой. К сожалению, я не нашел способа решить проблему с DBeaver, так что это может быть не то, что вы ищете, но этот ответ дал мне то, что мне было нужно: https://stackoverflow. com/a/29913462/9843399. Вот она с небольшим редактированием:

Резервное копирование вашей базы данных

docker exec -t <your-db-container> pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql

Восстановление вашей базы данных

cat your_dump.sql | docker exec -i <your-db-container> psql -U postgres

(Примечание: мне пришлось воссоздать мою схему, прежде чем восстановление заработало должным образом. В моей версии вы можете сделать это в DBeaver, например: db> щелкните правой кнопкой мыши «Схемы»> нажмите «Создать новую схему»)

0
ответ дан 21 May 2020 в 16:38

Другие вопросы по тегам:

Похожие вопросы: