还原停靠的PostgreSQL数据库时出错
我有一个停靠的Postgres数据库。我成功地执行了还原停靠的PostgreSQL数据库时出错,postgresql,docker,backup,restore,Postgresql,Docker,Backup,Restore,我有一个停靠的Postgres数据库。我成功地执行了 docker exec -t your-db-container pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql 并生成.sql文件。但当我尝试使用以下脚本进行恢复时: cat my_dump.sql | docker exec -i your-db-container psql --username="myusername
docker exec -t your-db-container pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql
并生成.sql
文件。但当我尝试使用以下脚本进行恢复时:
cat my_dump.sql | docker exec -i your-db-container psql --username="myusername" mydb
我得到:
错误:“pg_dumpall”处或附近出现语法错误
第1行:pg_dumpall:错误:无法连接到数据库“template1”
我缺少什么?转储文件包含备份过程中的错误消息,而不包含数据库转储
docker exec
将标准输出和标准错误结合起来。备份文件不能信任其输出
除了解决容器中的pg_dumpall
无法连接到template1
的根本问题外,您还需要一个更复杂的转储过程,该过程不能创建这样的情况,即shell错误消息在SQL语句应该出现的地方结束