eliasum
@eliasum
cd ..

Как вернуть временную таблицу из гипертаблицы?

Есть гипертаблица:
CREATE TABLE IF NOT EXISTS hyptab(
key integer NOT NULL,
tstamp timestamptz NOT NULL,
val FLOAT NOT NULL);

SELECT create_hypertable(
'hyptab', 'tstamp',
chunk_time_interval => INTERVAL '1 day',
if_not_exists => TRUE
);


Заполняемая данными для примера:
INSERT INTO hyptab (key, tstamp, val) 
SELECT n, NOW(), n FROM (
SELECT generate_series(1, 100500) AS n
) AS newvalues


На вход хранимой процедуры приходят начальное и конечное значение выборки из гипертаблицы:
CREATE OR REPLACE FUNCTION Foo(st TIMESTAMP, fin TIMESTAMP)
RETURNS ... AS $$
DECLARE 

	--
	
BEGIN

	--
				
END;

$$ LANGUAGE plpgsql;


Как можно вернуть из хранимой процедуры выборку значений tstamp, val по времени от st до fin?
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
@galaxy
Да как обычно, не думаю, что в TimescaleDB что-то отличается:
CREATE OR REPLACE FUNCTION Foo(st TIMESTAMP, fin TIMESTAMP)
RETURNS TABLE (tstamp timestamptz, val float) AS $$
...
RETURN QUERY SELECT tstamp, val FROM hyptab WHERE tstamp >= st AND tstamp < fin;
END;
$$ LANGUAGE plpgsql;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы