如何在docker中恢复postgres?

我创build了这样的备份: docker exec DOCKER pg_dump -U USER -F t DB | gzip > ./FILE.tar.gz docker exec DOCKER pg_dump -U USER -F t DB | gzip > ./FILE.tar.gz

如果数据库在容器中运行,那么恢复数据库的最佳方法是什么?

为你的情况:

 docker exec -it <CONTAINER> gunzip < backup.tar.gz | pg_restore -U <USER> -F t -d <DB> 

如果您的容器是面向公共的,并且在pg_hba.conf中允许远程连接,则也可以使用远程还原:

 gunzip < backup.tar.gz | pg_restore -U <USER> -F t -d <DB> -h <HOST_IP> -p 5432 

作为一个经验法则,logging特定于项目的备份和恢复命令是个好主意。