Одной командой восстановить локальный PostgreSQL дамп в kubectl pod? - PullRequest
1 голос
/ 23 марта 2020

Я просто вижу, есть ли одна команда для восстановления локальной резервной копии в модуле, работающем postgres. Я не смог заставить его работать с:

kubectl exec -it <pod> -- <various commands>

Так что я просто прибегнул к:

kubectl cp <my-file> <my-pod>:<my-file>

Затем восстановить его.

Думая, что, вероятно, есть лучший способ, поэтому подумал, что я спрошу.

Ответы [ 3 ]

3 голосов
/ 23 марта 2020

Вы можете вызвать команду pg_restore непосредственно в модуле, указав путь к локальному файлу в качестве источника дампа (параметры подключения могут различаться в зависимости от используемого вами изображения), например:

kubectl exec -i POD_NAME -- pg_restore -U USERNAME -C -d DATABASE < dump.sql
0 голосов
/ 23 марта 2020

кошка mybackup.dmp | kubectl exe c -i ... - pgrestore ...

или что-то в этом роде.

0 голосов
/ 23 марта 2020

Если файл находился в s3 или другом месте, доступном для модуля, в контейнере всегда мог быть сценарий, который может загрузить файл и выполнить восстановление в одном файле bash.
Это должно позволить выполнить восстановление одной командой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...