当我运行时会发生什么:
zcat /mnt/Postgres/restoreFile.gz | psql my_db
在工作数据库上,在做了ALTER TABLE
和其他标准的事情之后,duplicated keys
. 当我停止它并尝试插入数据库时,duplicates key
由于sequences
和出现错误constraints
。似乎所有数据都在,但是序列呢。那个数据库到底发生了什么?
一个普通的 Postgres 备份由表设计(如create table
)和数据(如insert
)语句组成。如果运行两次,大多数设计语句都会失败。insert
只要数据定义允许重复行,这些语句就会成功。
因此,将数据库恢复到生产服务器通常会导致表中没有主键的大量重复行。备份后所做的一些设计更改(例如更改表的所有者)可能会被撤消。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句