gpt4 book ai didi

关于 PLPGSQL 的 PostgreSQL 9.1 pg_restore 错误

转载 作者:行者123 更新时间:2023-11-29 11:05:27 25 4
gpt4 key购买 nike

我在一个 django 项目中使用 Postgres,我目前正在实现一个数据库备份/恢复系统,该系统尽可能简单地在用户单击备份时执行 pg_dump,然后在用户单击恢复备份时执行 pg_restore。

在它实际尝试执行 pg_restore 之前,一切看起来都很好而且花花公子,此时它给出了这个错误:

pg_restore: [archiver (db)] Error from TOC entry 3206; 0 0 COMMENT EXTENSION plpgsql pg_restore: [archiver (db)] could not execute query: ERROR: must be owner of extension plpgsql Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';

我已经研究过 plpgsql 是什么,我明白这一点,关于错误,我尝试手动将“扩展的所有者”设置为执行脚本并拥有数据库本身的用户,但这并没有改变任何东西,它真的很烦人,因为它在尝试设置所有事物的评论时出错

这都是由 pg_dump 自动创建的,所以评论行不能被删除,也没有禁用评论的标志(我知道),所以我真的不知道如何解决这个问题。

最佳答案

似乎 pg_restore 试图恢复一些你不拥有的额外数据。尝试将 -n public 选项添加到您的 pg_restore 命令行。它会告诉 pg_restore 只恢复公共(public)模式的内容。你的命令行应该看起来像

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

关于关于 PLPGSQL 的 PostgreSQL 9.1 pg_restore 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10169203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com