@nurzhannogerbek

Как синхронизировать таблицу и представление в PostgreSQL?

Здравствуйте, коллеги! Помогите пожалуйста разобраться.

Есть простая таблица в базе данных PosgreSQL. Структура этой таблицы выглядит следующим образом.

| ID | REPORT_TYPE | STATUS | USER_EMAIL     |
|--------------------------------------------|
| 1  | sms         | 0      | bob@gmail.com  |
| 2  | call        | 1      | mark@gmail.com |
| 3  | internet    | 2      | kate@gmail.com |


Пытаюсь создать идентичное по структуре представление (view) на основе этой таблицы. То есть если в таблице появляется новая запись со статусом 0, ее нужно занести в представление. Если в таблице у какой либо записи меняется значение статуса на 0, она появляется в представлении. Одним словам пытаюсь синхронизировать таблицу и представление в PostgreSQL. Подскажите, как это реализовывается?
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Если вы говорите именно о view - то я вас вовсе не понимаю.
В view в принципе нет и не может быть ни одной строки, в сам view невозможно ничего записать (writable view - это переписывание запроса). Когда вы обращаетесь к view - в запрос идёт запрос из объявления этого view и весело анализируется/переписывается как любой другой запрос.

То есть что с чем вы пытаетесь синхронизировать? Запрос с другим запросом? У вас данные всего в одном месте, нечего синхронизировать здесь.

Если вы говорите всё-таки о материализованном представлении - то вам нужен отдельный запрос refresh materialized view. Вообще matview by design для неактуальных данных и задаче периодической актуализации через refresh.
Ответ написан
Ваш ответ на вопрос

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

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