Son*_*pta 6 postgresql backup restore pg-dump psql
我正在使用“ pg_dump database_name> backup.sql”对postgres数据库进行转储。稍后,我将对原始数据库(数据库名称)进行一些修改,然后从备份文件(backup.sql)还原数据。但是结果是数据库没有恢复到原始状态,而是将原始数据添加到修改后的数据(修改后的+原始)中,我只希望它恢复到原始状态,我是否应该删除所有从备份文件还原数据库之前,先从数据库中还原数据,因为它提供了数据库的原始状态。还是有其他方法可以做到这一点?
该默认格式 FO pg_dump
是平原,所以它创建了一个COPY
声明。因此,当您psql backup.sql
仅对copy
现有数据运行这些数据时。要重写数据,您应该删除表的第一或pg_dump -F c
和 pg_restore -c
。
警告-在两种情况下,它都会破坏旧数据(尽管这似乎是您想要的)
-c --clean在重新创建数据库对象之前对其进行清理(删除)。(除非使用--if-exists,如果目标数据库中不存在任何对象,则这可能会生成一些无害的错误消息。)
正如@Craig Ringer所建议的那样,从备份中删除/重新创建将更加容易和清洁。要删除数据库,请运行DROP DATABASE au
-请注意,没有成功的连接用户。然后,您必须创建db:CREATE DATABASE au
并运行psql -f backup.sql -d au
归档时间: |
|
查看次数: |
7118 次 |
最近记录: |