PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann angegeben werden, dass eine Spalte beim Erstellen einer materialisierten Ansicht nicht nullable ist?

Die Syntax unterstützt dies in CREATE- oder ALTER-Formen in der heutigen Form nicht. Ich vermute, aber da die CREATE MATERIALIZED VIEW-Anweisung jede Abfrage akzeptiert, kann sie die Nicht-Null-Einschränkungen nicht zuverlässig aus der referenzierten Tabelle kopieren.

Sie können jedoch pg_catalog.pg_attribute selbst AKTUALISIEREN, um zu tun, was Sie wollen.

UPDATE pg_catalog.pg_attribute 
SET attnotnull = true
WHERE attrelid = the_oid_of_the_published_at_column;