当我拼命地跑,会发生什么:
zcat /mnt/Postgres/restoreFile.gz | psql my_db
工作数据库上做ALTER TABLE
等标准的事情后,出现了与duplicated keys
问题。当我停下来,并试图插入到数据库,然后我得到了,因为duplicates key
和sequences
的constraints
错误。好像所有的数据都在,但对序列什么。真正与数据库happend?
一个正常的Postgres备份包括表格设计(像create table
)和数据(像insert
)语句。如果你运行它两次,大多数设计语句将失败。该insert
语句会成功,只要数据定义允许重复行。
所以,将数据库还原到生产服务器通常会导致大量表中重复行的无主键。备份(如改变表的所有者)之后做了一些设计变更可能被撤销。