RDS PostgreSQL执行CREATE CAST语句时, 提示"must be owner of xxx"

更新时间:2024-08-16 08:15:43

本文介绍在执行CREATE CAST语句转换数据类型时,如何处理报错must be owner of type xx or type xxx

问题现象

执行CREATE CAST语句转换数据类型时,提示ERROR: must be owner of type xxx or type xxx

例如执行以下命令:

CREATE CAST(boolean AS smallint) WITH INOUT AS implicit;

解决办法

重要

使用此方法前需要确保实例版本满足以下条件:

  • 实例大版本为RDS PostgreSQL 10及以上版本。

  • 实例内核小版本为20210531及以上。查看和升级内核小版本,请参见升级内核小版本

以上述示例SQL为例,需要通过以下步骤解决:

  1. 使用高权限账号连接数据库。如何获取高权限账号,请参见创建账号

  2. 修改转换前数据类型Owner为当前登录账号。

    ALTER type bool owner TO <your role>;
  3. 再次执行CREATE CAST语句,即可成功转换数据类型。

    CREATE CAST(boolean AS smallint) WITH INOUT AS implicit;
  • 本页导读 (1)
  • 问题现象
  • 解决办法