创建B / pg_restore有错误:必须是扩展的所有者



我收到此错误:

pg_restore: [archiver (db)] Error while PROCESSING TOC: 
pg_restore: [archiver (db)] Error from TOC entry 4034; 0 0 COMMENT EXTENSION pg_trgm  
pg_restore: [archiver (db)] could not execute query: ERROR: 
must be owner of extension pg_trgm
Command was: COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams';

当我运行以下命令时:

PGPASSWORD="$db_pwd" createdb -U "$db_user" -h "$db_host" -p 5432 --no-password -e "$db_name"

如何修复?我认为正确的做法是让自己成为pg_trgm扩展的所有者,但是如何呢?

导致此错误的不是createdb命令,而是pg_restore

这意味着您以非超级用户身份从扩展名为pg_trgm的数据库中还原了转储。

扩展本身恢复为

CREATE EXTENSION IF NOT EXISTS pg_trgm;

因此,如果扩展已经存在,这不会导致错误,但是以下

COMMENT ON EXTENSION pg_trgm IS '...';

将导致非超级用户出错。

您可以安全地忽略此错误。

最新更新