首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误: pg_repack失败,错误:错误:“relhasoid”列不存在

错误: pg_repack失败,错误:错误:“relhasoid”列不存在
EN

Stack Overflow用户
提问于 2020-09-09 15:36:44
回答 2查看 355关注 0票数 1

我正在使用pg_repack扩展来对我的数据库表执行完全真空。到目前为止,我一直在使用postgres-11。现在,我已经将它升级到postgres-12.4。升级后,当我再次开始做完全真空时-我得到了以下错误:

代码语言:javascript
复制
   ERROR: pg_repack failed with error: ERROR:  column "relhasoids" does not exist

以下是详细信息:

代码语言:javascript
复制
    pg_repack  -U postgres --no-order --no-kill-backend  --table channatest shiwangini

   ERROR: pg_repack failed with error: ERROR:  column "relhasoids" does not exist
   LINE 19:         CASE WHEN relhasoids
                       ^
   QUERY:
   SELECT array_to_string(array_agg(param), ', ')
   FROM (
   -- table storage parameter
   SELECT unnest(reloptions) as param
   FROM pg_

在postgres -12版本中如何避免这个问题?我已经尝试过安装pg_repack12,并且只在支持postgres -12的机器上安装了pg_repack 1.4.5版。仍然是同样的错误。

代码语言:javascript
复制
     /usr/pgsql-12/bin/pg_repack --version

     pg_repack 1.4.5
EN

回答 2

Stack Overflow用户

发布于 2020-09-09 16:06:08

PostgreSQL v12已经删除了pg_class目录中的relhasoids列,因为这个令人讨厌的概念在v12中已不复存在。

您应该使用pg_repack的version 1.4.5或更高版本,其中添加了对PostgreSQL v12的支持。

票数 0
EN

Stack Overflow用户

发布于 2020-10-09 02:40:31

我的问题在2020年9月30日的最新pg_repack版本中得到了解决。pg_repack 1.4.6。

下面是我所做的:

  • Uninstall/Remove所有旧的installation.
  • Installed新版本的pg_repack。-- sudo yum install pg_repack12
  • Connected to database删除了现有扩展并创建了一个新扩展。drop extension pg_repack;create extension pg_repack;
  • 重新运行repack。这一次我能够成功地重新打包。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63806820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档