Я могу подтвердить, что это было добавлено в версии v9.1.1-4. См. На странице новых функций v9.1.4
У меня есть 2 БД Vertica, 1-я с v9.0.1-5 и 2-я с v9.2.0-7. LISTAGG()
доступно для 2-го, но не для 1-го:
dbadmin=> select version();
version
------------------------------------
Vertica Analytic Database v9.0.1-5
dbadmin=> SELECT LISTAGG(myColumn) FROM myTable;
ERROR 3457: Function LISTAGG(varchar) does not exist, or permission is denied for LISTAGG(varchar)
HINT: No function matches the given name and argument types. You may need to add explicit type casts
version
------------------------------------
Vertica Analytic Database v9.2.0-7
dbadmin=> SELECT LISTAGG(myColumn) FROM myTable;
LISTAGG
---------
aaa,abc
LISTAGG()
является частью пакета /opt/vertica/packages/VFunctions
, и это единственная функция в схеме v_func
в v9.1.1 и выше.
Хорошей альтернативой является GROUP_CONCAT()
, который является частью string_packages UDx. Смотрите readme для инструкций по установке и использованию.