Запрос на выбор данных из базы данных между 2 временными метками. Исключение: функция time_bucket не существует? - PullRequest
0 голосов
/ 08 апреля 2019

Я пытался написать запрос на Java, чтобы выбрать данные из базы данных postgres timescale между 2 временными метками, но я продолжаю получать Исключение говорит, что функция time_bucket не существует

Я не могу изменить столбец временной метки вБаза данных на сегодняшний день, так как у меня нет владельца, и я попытался скопировать вставить запрос в редактор SQL, он прекрасно работает !!

это запрос:

private final String SELECT_CANDLESTICK_BY_REQUEST = "SELECT " + 
        "   time_bucket(  interval '1 minute' , period_start_ts) AS periodts,  " + 
        "   count(*),  " + 
        "   first(metrics->>'askOpen',period_start_ts) as askOpen,  " + 
        "   max(metrics->>'askHigh') as askHigh,  " + 
        "   min(metrics->>'askLow') as askLow,  " + 
        "   last(metrics->>'askClose',period_start_ts) as askClose, " + 
        "   first(metrics->>'bidOpen',period_start_ts) as bidOpen,  " + 
        "   max(metrics->>'bidHigh') as bidHigh,  " + 
        "   min(metrics->>'bidLow') as bidLow,  " + 
        "   last(metrics->>'bidClose',period_start_ts) as bidClose " + 
        "  FROM candlestick_1_sec_fact " + 
        "  where period_start_ts between ? and ? " + 
        "  and symbol_cd = ? and liquidity_source_nm =  ? " + 
        "  GROUP BY periodts " + 
        "  ORDER BY periodts" ;

этокак я устанавливаю параметры:

PreparedStatement select = connection.prepareStatement(SELECT_CANDLESTICK_BY_REQUEST);


    select.setTimestamp(1, new Timestamp(startTime));
    select.setTimestamp(2, new Timestamp(endTime));
    select.setString(3, symbol);
    select.setString(4, source); 

это исключение, которое я получаю:

org.postgresql.util.PSQLException: ERROR: function time_bucket(interval, timestamp without time zone) does not exist . Hint: No function matches the given name and argument types. You might need to add explicit type casts.

Даже если я уберу ключевое слово интервал в запросе, оно все равно не распознает time_bucketфункция.

Заранее благодарим за ваше время и знания!

...