Postgres + Docker: pg_dump不能从外部工作



我想设置一个cron脚本,自动创建转储从特定的PostgresDocker上运行的数据库容器。我知道如何从外部执行容器中的命令,也熟悉pg_dump

不知何故,对于我的容器和数据库,我似乎不能使它工作:

docker exec <container> pg_dump -U postgres <mydb> > /pg-snaps/<mydb>_$(date).sql

我得到以下错误:

zsh: no such file or directory: /pg-snaps/<mydb>_<date>.sql

目录/pg-snaps已存在。我可以在容器内执行相同的命令,它可以工作。我不知道为什么它不能与docker exec一起工作。我查阅了如何做到这一点的方法,它的建议和我想做的一样。添加";在要执行的命令周围也会出现'no such file or directory'。

试试这个例子:

docker exec -it <container> sh -c 'pg_dump -U postgres <mydb> > /pg-snaps/<mydb>_$(date).sql'

最新更新