错误:函数unnest(integer [])在Postgresql中不存在
-
27-10-2019 - |
题
通用标签
在执行上述查询时,出现了如下错误: 通用标签
我正在使用PostgreSQL 8.3,并且已经在我的数据库中安装了_int.sql
软件包以进行整数数组操作。
如何解决此错误?
解决方案
unnest()
不是模块intarray
的一部分,而是标准PostgreSQL的一部分。但是,您需要的版本 8.4 或更高版本。
因此,您可以通过升级到较新的版本(最好是当前版本9.1)来解决此问题。请参阅 PostgreSQL项目的版本政策。
如果您应该使用Heroku的共享数据库(当前使用版本8.3),他们也正在考虑升级。 Heroku Labs已经提供9.1 。
正如@Abdul所说,您可以自己在PostgreSQL 8.4之前的版本中实现一个穷人的unnest()
:
通用标签
但是,请注意,这仅适用于一维数组。 (与PostgreSQL的unnest()
相反,该代码采用具有多个维度的数组):
通用标签
您可以为n维数组实现更多功能: 通用标签
致电: 通用标签
您还可以编写一个处理多个维度的PL / pgSQL函数...
不隶属于 StackOverflow