Я нахожусь в версии postgresql, которая была построена с 8.3. Я бегу тонны запросов на основе конкретного адреса Ip и хотел создать функцию, я могу передать IP-адрес в качестве параметра аналогично:Параметризация вывода оператора select PSQL
$$ LANGUAGE SQL;
Проблема заключается в том, что указанный выше запрос не возвращает вывод оператора select в формате таблицы, к которому я привык. Как получить скрипт, который я написал выше, чтобы вести себя как оператор select ниже, если я передаю 10.10.0.1 в качестве IP-адреса, введенного в функцию?
select src, action,
count(distinct date_trunc('day', receive_time)) n_activeDay,
count(distinct source_IP) n_src,
count(distinct source_IP)/count(distinct date_trunc('day', receive_time)) n_src_per_day,
sum(bytes) as total_bytes,
min(receive_time) minTime,
max(receive_time) maxTime
from table
where src = '10.10.0.1'
group by src, action;
Какой формат таблицы используется? Формат вывода сильно зависит от того, какой клиент вы используете и как настроен этот клиент. В общем, я думаю, нам нужна дополнительная информация о том, что именно он делает, что необычно. Я продолжу и упомянул - я не уверен, что «RETURNS SETOF rows» изменяет функциональность. Это явно экономит, но я обычно видел запись «RETURNS SETOF». Вы можете попробовать изменить его и посмотреть, получит ли он вас больше того, что вы ищете. –