Hi, > Patch 0002 deprecates CREATE MATERIALIZED VIEW IF NOT EXISTS because it > no longer seems necessary with patch 0001. Tom Lane commented[1] about > the general dislike of IF NOT EXISTS, to which I agree, but maybe this > was meant only in response to adding new commands. Anyway, my idea is > to deprecate that usage in PG18 and eventually remove it in PG19, if > there's consensus for it. We can drop that clause without violating any > standard because matviews are a Postgres extension. I'm not married to > the idea, just want to put it on the table for discussion.
I can imagine how this may impact many applications and upset many software developers worldwide. Was there even a precedent (in the recent decade or so) when PostgreSQL broke the SQL syntax? To clarify, I'm not opposed to this idea. If we are fine with breaking backward compatibility on the SQL level, this would allow dropping the support of inherited tables some day, a feature that in my humble opinion shouldn't exist (I realize this is another and very debatable question though). I just don't think this is something we ever do in this project. But I admit that this information may be incorrect and/or outdated. -- Best regards, Aleksander Alekseev