运行 在工作数据库上恢复。怎么了?
Run restore on working database. What happens?
我运行时发生了什么:
zcat /mnt/Postgres/restoreFile.gz | psql my_db
在工作数据库上,在执行 ALTER TABLE
和其他标准操作后,duplicated keys
出现问题。当我停止它并尝试插入数据库时,由于 sequences
和 constraints
,我得到了 duplicates key
错误。似乎所有数据都在,但序列呢?该数据库到底发生了什么?
一个普通的 Postgres 备份由 table 设计(如 create table
)和数据(如 insert
)语句组成。如果你 运行 它两次,大多数设计语句都会失败。只要数据定义允许重复行,insert
语句就会成功。
因此,将数据库恢复到生产服务器通常会导致 table 中出现大量没有主键的重复行。备份后所做的一些设计更改(例如更改 table 的所有者)可能会被撤消。
我运行时发生了什么:
zcat /mnt/Postgres/restoreFile.gz | psql my_db
在工作数据库上,在执行 ALTER TABLE
和其他标准操作后,duplicated keys
出现问题。当我停止它并尝试插入数据库时,由于 sequences
和 constraints
,我得到了 duplicates key
错误。似乎所有数据都在,但序列呢?该数据库到底发生了什么?
一个普通的 Postgres 备份由 table 设计(如 create table
)和数据(如 insert
)语句组成。如果你 运行 它两次,大多数设计语句都会失败。只要数据定义允许重复行,insert
语句就会成功。
因此,将数据库恢复到生产服务器通常会导致 table 中出现大量没有主键的重复行。备份后所做的一些设计更改(例如更改 table 的所有者)可能会被撤消。