У меня есть 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, но я до сих пор получаю сообщение «Создать уникальный индекс».
Возникает ли эта ошибка при запуске обновления один за другим? –
Я запускаю их один за другим с задержкой в 30 секунд. –