J'ai une vue matérialisée en ce Postgres 9.3
que je voudrais mettre à jour avec de nouvelles colonnes. Cependant, d'autres vues matérialisées dépendent également de cette vue, et le message d'erreur indique que la suppression d'une vue n'est pas possible lorsque d'autres objets en dépendent.
ERREUR: impossible de supprimer la vue matérialisée latest_charges car d'autres objets en dépendent
Il ressort également de la documentation que le mot clé REPLACE n'est pas valide pour une vue matérialisée. Existe-t-il un raccourci en dehors de la suppression de tous les objets dépendants et de la reconstruction de chacun?
Réponses:
Depuis PostgreSQL 9.4: Différente de la documentation de CREATE VIEW , la documentation de CREATE MATERIALIZED VIEW ne mentionne PAS le mot-clé REPLACE. Il ne semble pas y avoir de raccourci en dehors de la suppression de tous les objets dépendants et de la reconstruction de chacun.
Lorsque vous le faites, je ne peux que recommander deux petites choses:
la source
Pour ma situation, je préfère limiter les baisses en utilisant un calque de vue:
par exemple.
la source
Dans PgAdmin (version 4.x), je pouvais facilement modifier la définition (j'ai ajouté une clause where) dans la boîte de propriétés. Votre problème pourrait être résolu de cette façon.
la source