Выдать с помощью string_agg с отличным от postgres

Я получаю ошибку для запроса ниже. В основном использовать || и distinct вместе.

select string_agg( 'pre' || distinct user.col, 'post')

Он отлично работает, как этот

select string_agg( 'pre' || user.col, 'post')

& это

select string_agg(distinct user.col, 'post')

Ответ 1

select string_agg(distinct 'pre' || user.col, 'post')

Как указано выше, использование индекса в агрегировании distinct приведет к 'pre' out

select 'pre' || string_agg(distinct user.col, 'postpre')

Ответ 2

Функция concat может вам помочь.

select string_agg(distinct concat('pre',user.col, 'post'), '')