【发布时间】:2018-12-18 06:46:58
【问题描述】:
我有非空数据库并通过以下方式进行备份:
pg_dump myBase > backup.sql
然后我必须删除 db,现在我正在尝试从 backup.sql 中恢复它。所以首先我通过以下方式创建数据库:
create database myBase
从psql授予权限
grant all privileges on database "myBase" to myUser
然后尝试通过以下方式从 pg_dump 中恢复:
pg_dump myBase < backup.sql
我没有收到任何错误,但是当我通过\dt 检查表格时,它完全是空的。
我也尝试过恢复:
psql -h localhost -d myBase-U myUser-f backup.sql(没有错误,但也没有表格)
psql myBase < backup.sql(如上)
我对 dbs 有一点经验,所以我认为这对于更有经验的用户来说应该是显而易见的。
【问题讨论】:
-
如何检查dp是否为空?
psql myBase -c "\dt"?.. -
\dt显示 db 中的表,我“未找到任何关系” -
所以在你删除数据库之前你有一个列表并且在恢复相同的命令后显示没有找到关系?..
-
是的,在 drop "\dt" 之前显示表列表,还原后我“没有找到任何关系”。
-
无法重现。看到答案。不知道为什么你没有错误也没有关系。我的意思是很多可能的故障点,但看不出如何猜测
标签: database postgresql psql pg-dump