У меня есть материализованное представление, Postgres 9.3
которое я хотел бы обновить новыми столбцами. Однако другие материализованные представления также зависят от этого представления, и сообщение об ошибке указывает, что удаление представления невозможно, когда другие объекты зависят от него.
ОШИБКА: невозможно отбросить материализованное представление latest_charges, потому что другие объекты зависят от него
Из документации также следует, что ключевое слово REPLACE недопустимо для материализованного представления. Есть ли какой-нибудь ярлык, кроме удаления всех зависимых объектов и восстановления каждого из них?
Ответы:
Начиная с PostgreSQL 9.4: В отличие от документации CREATE VIEW , в документации CREATE MATERIALIZED VIEW НЕ упоминается ключевое слово REPLACE. Кажется, нет никакого сокращения, кроме отбрасывания всех зависимых объектов и восстановления каждого из них.
Когда вы делаете это, я могу рекомендовать только две маленькие вещи:
источник
В моей ситуации я предпочитаю ограничивать количество отбрасываний, используя слой вида:
например.
источник
В PgAdmin (версия 4.x) я мог легко изменить определение (я добавил предложение where) в окне свойств. Ваша проблема может быть решена таким образом.
источник