sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo indicar que una columna no es anulable al crear una vista materializada?

La sintaxis no lo admite en las formas CREATE o ALTER tal como están hoy. Supongo, pero dado que la declaración CREAR VISTA MATERIALIZADA acepta cualquier consulta, no puede copiar de manera confiable las restricciones no nulas de la tabla a la que se hace referencia.

Sin embargo, puede ACTUALIZAR el atributo pg_catalog.pg_attribute para hacer lo que quiera.

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