Вопрос

родовое слово

При выполнении вышеуказанного запроса я получил следующую ошибку:

родовое слово

Я использую 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, который принимает массивы с несколькими измерениями):

родовое слово

Вы могли бы реализовать больше функций для n-мерных массивов:

родовое слово

Звоните:

родовое слово

Вы также можете написать функцию PL / pgSQL, которая имеет дело с несколькими измерениями ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top