我运行以下命令来备份我的PostgreSQL数据库:
pg_dump -U postgres -h localhost -W -F t crewdb > /home/chris1/Documents/crewcut/crewdb/crewdb_bak.tar
此文件后来被保存到USB。
在新的Ubuntu18.04系统上安装PostgreSQL后,我运行以下命令从U盘恢复数据库:
psql -U postgres -d crewdb < /media/chh1/1818-305D/crewdb_bak.tar
数据库的结构已经恢复,除了表中未恢复的实际数据外,表、视图等都已恢复。
有没有人知道这是为什么以及如何解决这个问题。
发布于 2019-07-30 20:08:17
我不知道您用来恢复数据的命令是否正确;在任何情况下,请尝试使用official documentation中的pq_restore“从pg_dump创建的存档文件恢复PostgreSQL数据库”,这是正确的方法。
在我的例子中,我使用pg_dumpall -U user > backup.sql
,然后使用"cat backup.sql | psql -U user database
“
我建议您检查一下在pg_dump上使用的标志
https://stackoverflow.com/questions/57263321
复制相似问题