我正在django项目中使用Postgres,目前我正在实现一个数据库备份/还原系统,该系统尽可能简单,在用户单击备份时执行pg_转储,然后在用户单击还原备份时执行pg_还原.

在它真正try 执行pg_还原之前,一切似乎都很好,但此时它会出现以下错误:

pg_restore:[archiver(db)]来自TOC条目3206的错误;0 comments

我已经研究了什么是plpgsql等等,我理解这一点,关于这个错误,我试图手动将"扩展的所有者"设置为执行脚本并拥有数据库本身的用户,但这并没有改变什么,这真的很烦人,因为它试图设置所有内容的注释

这一切都是由pg_dump自动创建的,因此 comments 行不能被删除,并且没有禁用 comments 的标志(我不知道),所以我真的被困在了如何解决这个问题上.

推荐答案

pg_restore似乎试图恢复一些您不拥有的额外数据.try 在pg_restore命令行中添加-n public选项.它将告诉pg_仅恢复公共模式的内容.您的命令行应该如下所示

pg_restore -U username -c -n public -d database_name

Postgresql相关问答推荐

用于JSON数组的带有组合条件的Postgres JSONB Select 查询

Select 二维数组中的特定元素PostgreSQL

如何诊断字符编码问题

无法使用PGx连接到Postgres数据库AWS RDS

当参数大小超过 393166 个字符时,PSQL 准备语句查询挂起

是否可以调整 PostgreSQL 中的数组以适应 IN 运算符?

找出两个表之间的差异

PL/pgSQL 中 PL/SQL %ISOPEN 的类似功能是什么?

当我写 SELECT ~1;在 Postgresql 上它给了我 -2 结果.这是什么原因?它一直持续〜4和-5等

将 Postgres 与 Grails 一起使用

冲突中的 Postgres 会更新复合主键

无法登录 PostgreSQL 数据库

Rails 4查询由单个属性唯一

为什么 PostgreSQL 数组访问在 C 中比在 PL/pgSQL 中快得多?

Psycopg2 使用占位符插入表格

如何在 PostgreSQL 中创建 guid

Redis 可以写出到像 PostgreSQL 这样的数据库吗?

仅在存在时重命名列

PostgreSQL:如何在用户级别设置 search_path?

在 postgres 中存在不同的 string_agg 问题