postgresql - pg_restore 工作正常但有一些错误

标签 postgresql

我正在测试我的备份/恢复过程,当我恢复数据库时,所有表以及数据和表所有权都是正确的。但是,我担心一些警告/错误。

我的备份是使用 postgres crontab 在 cronjob 中运行的。然而,postgres cronjob 中的 pg_dump 命令是使用“myuser”用户运行的:

00 01 * * * pg_dump -U myuser -Fc --exclude-table-data=example_table example_db > ~/backups/example_db_backup.gz

如您所见,我在备份期间排除了其中一个表中的数据。所有其他表等都正常备份。

然后我用 postgres 用户创建一个新的测试数据库,因为我不想将它恢复到实时数据库。我授予“myuser”用户对新数据库的完全访问权限,然后恢复数据库:

su postgres
psql -U postgres
create database test;
GRANT ALL PRIVILEGES ON DATABASE test TO myuser;
\q

然后我按如下方式恢复数据库:

pg_restore -d test -U myuser ~/backups/example_db_backup.gz

如前所述,还原工作正常并且数据库中的所有内容似乎都是正确的,但是在还原过程中我收到以下消息:

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 2655; 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';

pg_restore: WARNING:  no privileges could be revoked for "public"
pg_restore: WARNING:  no privileges could be revoked for "public"
pg_restore: WARNING:  no privileges were granted for "public"
pg_restore: WARNING:  no privileges were granted for "public"
WARNING: errors ignored on restore: 1

这些错误值得关注吗?尽管恢复似乎工作正常,但我不想忽视我不了解的潜在问题。

最佳答案

我在加载 sql 转储文件时遇到了同样的错误,

postgres=# alter role <user-name> superuser;

为您的postgres 用户提供 super 用户 角色,

关于postgresql - pg_restore 工作正常但有一些错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43142532/

相关文章:

postgresql - 使用 `order by` 、 `limit` 和 `union` 加速查询

ruby-on-rails - 如何(通过关系表)加入针对自身的表?

postgresql - 如何在 Spring Data JPA 实体和通过继承相关的表之间进行映射

function - 将 SQL 查询转换为采用标识符的函数

php - 将列更新为连接列中的值

postgresql - 如何通过 Doobie 将案例对象插入为 JSONB 格式?

c++ - 如何在VS2015中使用PostgreSQL插件静态编译Qt 5.8

sql - 除了在一个查询中的子查询之外,我如何运行它?

postgresql - AgensGraph-Btree VS Neo4j-IndexFree

node.js - Node 服务器无法连接到 postgres 数据库