PG Bug reporting form <noreply@postgresql.org> writes:
> We've faced up with an issue how pg_dump exports materialzed views, it
> doesn't export columns declaration that is legal parameter of CREATE DDL
> instruction.
> As I can see from db_dump source, it's intent behaviour and supposed that
> columns declarion will be picked up from query statement when matview is
> created by target instance. However, if matview is 'static' (doesn't have a
> query statement), it sets default column names (column1, column2, etc) that
> breaks all dependent tables/views/matviews, for instance:
> postgres=> CREATE MATERIALIZED VIEW test_mv
> (id, alias) AS
> VALUES (1, 5), (2, 6), (3, 17)
> ;
Hmm ... I agree this is not good, but this example doesn't seem like
a matview that anyone would create in practice. For curiosity's sake,
would you explain the actual use-case that you hit this in?
regards, tom lane