运行工作数据库恢复。怎么了?

问题描述 投票:0回答:1

当我拼命地跑,会发生什么:

zcat /mnt/Postgres/restoreFile.gz | psql my_db

工作数据库上做ALTER TABLE等标准的事情后,出现了与duplicated keys问题。当我停下来,并试图插入到数据库,然后我得到了,因为duplicates keysequencesconstraints错误。好像所有的数据都在,但对序列什么。真正与数据库happend?

sql postgresql psql restore zcat
1个回答
1
投票

一个正常的Postgres备份包括表格设计(像create table)和数据(像insert)语句。如果你运行它两次,大多数设计语句将失败。该insert语句会成功,只要数据定义允许重复行。

所以,将数据库还原到生产服务器通常会导致大量表中重复行的无主键。备份(如改变表的所有者)之后做了一些设计变更可能被撤销。

© www.soinside.com 2019 - 2024. All rights reserved.