使用Postgresql以非超级用户身份创建强制转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Postgresql以非超级用户身份创建强制转换相关的知识,希望对你有一定的参考价值。

我有一个特殊的需要在postgresql 9.6中创建一个新的强制转换:

CREATE OR REPLACE FUNCTION boolean_to_float(b boolean) RETURNS float AS $$
SELECT b::int::float;$$ LANGUAGE SQL;
DROP CAST IF EXISTS (boolean as float);
CREATE CAST (boolean AS float) WITH FUNCTION boolean_to_float(boolean) ;

不幸的是,我收到了以下回复:

ERROR:  must be owner of type boolean or type double precision

数据库由我正在使用的用户拥有。有可能迫使DROP/CREATE CAST

答案

正如错误消息所示:您必须以postgres用户身份进行连接才能执行此操作。

以上是关于使用Postgresql以非超级用户身份创建强制转换的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Debian 上以非 root 用户身份运行 Spring Boot 应用程序?

安装postgresql11.5

postgresql之Dropuser

在 Docker 中以非 root 用户身份运行应用程序

以非 root 用户身份运行 Nginx

以非 root 用户身份使用 libusb-1.0 访问 USB 设备