У меня есть PostgreSQL DB, где я использую материализованные представления. Проблема возникает, когда я пытаюсь обновить эти материализованные представления.
REFRESH MATERIALIZED VIEW product_cat_mview;
REFRESH MATERIALIZED VIEW productsforproject;
Мое решение заключается в том, что когда пользователь хочет видеть обновленные данные, он должен нажать кнопку "Обновить" на веб-странице, но это занимает около 50 секунд (на локальном подключении и около 2 минут с сервера приложений) и все на этот раз пользователь должен подождать, что плохо.
Теперь я должен создать решение для автоматического обновления этих материализованных представлений каждые 10 минут. Я создал Java-решение с многопоточным процессом. Но у меня есть одна проблема.
Первый запрос
REFRESH MATERIALIZED VIEW CONCURRENTLY product_cat_mview;
работает правильно, но второй
REFRESH MATERIALIZED VIEW CONCURRENTLY productsforproject;
жалуется, что мне нужно создать уникальный индекс. Я попытался создать индекс, уникальный индекс и т.д., Которые я нашел в google, но я до сих пор получаю сообщение "Создать уникальный индекс".