我运行了以下命令来备份我的PostgreSQL数据库:
pg_dump -U postgres -h localhost -W -F t crewdb > /home/chris1/Documents/crewcut/crewdb/crewdb_bak.tar
此文件后来被保存到USB。
在新的Ubuntu 18.04系统上安装PostgreSQL后,我运行以下命令从USB恢复数据库:
psql -U postgres -d crewdb < /media/chh1/1818-305D/crewdb_bak.tar
数据库的结构已恢复,因此表,视图等除外,但表中的实际数据尚未恢复。
有人知道这是为什么以及如何解决这个问题。
答案 0 :(得分:0)
我不知道您运行的用于恢复数据的命令是否正确;无论如何,请按照official documentation“从pg_dump创建的存档文件中还原PostgreSQL数据库”中的说明使用pq_restore,这是正确的方法。
在我的情况下,我先使用pg_dumpall -U user > backup.sql
然后使用“ cat backup.sql | psql -U user database
”
我建议您检查一下pg_dump上使用的标志