Thanks a lot. I thought I would go with writing a function to Drop the views ,
ALTER table and the recreate the views so as to take care of the column type
changes in the table.
--- On Tue, 5/5/09, Tom Lane t...@sss.pgh.pa.us wrote:
From: Tom Lane t...@sss.pgh.pa.us
Subject: Re: [HACKERS] ALTER TABLE should change respective views
To: Peter Eisentraut pete...@gmx.net
Cc: pgsql-hackers@postgresql.org, Archana Sundararam archn...@yahoo.com
Date: Tuesday, May 5, 2009, 8:10 AM
Peter Eisentraut pete...@gmx.net writes:
And this could then also change the return type of foo(), thus changing the
row type of the view and would thus propogate up to other views. And so if
you have many views, as you say, this could become a great mess. You could
probably define and implement a solution, but it would be very confusing and
risky to use.
The SQL committee has also historically chosen to punt on such things.
Note the long-established rule that * is expanded at view definition
time (so adding columns doesn't change views). I also see a flat
prohibition on *any* view reference in the newly added SET DATA TYPE
command (SQL:2008 11.17 alter column data type clause):
7) C shall not be referenced in the query expression of any view descriptor.
regards, tom lane