Виды Финского залива (m_f) wrote in ru_programming,
Виды Финского залива
m_f
ru_programming

Category:

Postgresql, Hibernate и materialized view

В приложении на Hibernate с Postgresql есть materialized view. Её надо время от времени обновлять.
Я написал такой код:
public void refreshView() {
getSession().createSQLQuery("REFRESH MATERIALIZED VIEW myView").executeUpdate();
}
Когда ту же sql команду я запускаю из Dbeaver, то есть, напрямую из sql, она отрабатывает за довольно короткое время - от нескольких миллисекунд до 30 секунд, что, конечно, много но терпимо. Если же я вызываю в приложении вышеописанный метод, она повисает надолго -самое большое значение было минут 40, дальше ждать мне лени не хватило. Я понимаю, что я что-то делаю не так, но не понимаю где и что. Заранее благодарен за советы.
Upd. Помогло добавление ключевого слова concurrently:
refresh materialized view concurrently myView
Subscribe

  • Отслеживание соединений БД Postgresql

    Какие есть средства для сабжа? Удалось нагуглить таблицу pg_stat_activity и кучу коммерческих средств. Может, есть ещё возможности? Отдельный вопрос…

  • Вопрос по Hibernate

    Вопрос по hibernate. При сохранении новых данных в БД происходит странное. Hibernate меняет одно из полей в методе dirtyCheck() класса…

  • Конвертирование Xls в Pdf

    Вопрос. Что может подсказать сообщество по конвертированию xls файлов в pdf? Гугление дало несколько платных библиотек(aspose, free.spire.xls). Нет…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments