Re: BUG #16119: pg_dump omits columns specification for matviews

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: dmitry.telpt@gmail.com
Cc: pgsql-bugs@lists.postgresql.org
Date: 2019-11-16T06:05:36Z
Lists: pgsql-bugs
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



Commits

  1. Further fix dumping of views that contain just VALUES(...).