Обсуждение: alter table impact on view
Hello,
to my understanding, if I do alter table rename column, Postgres change the name of the said column, and modify the views using that table so that they keep working (NOT oracle behaviour..)
fine.
But if I alter table to change a column that is a varchar 20 into a varchar 21
postgres refuse saying that it cannot due to the return rule... using said column
why ?? as the view is not a materialized object, the impact of the length of a column of an underlying table do change the description of the view, clearly, but I dont see where the difficulty is "hidden". Can someone enlighten me?
thanks,
On Tue, 31 Jan 2023 at 01:14, Marc Millas <marc.millas@mokadb.com> wrote: > But if I alter table to change a column that is a varchar 20 into a varchar 21 > postgres refuse saying that it cannot due to the return rule... using said column > > why ?? as the view is not a materialized object, the impact of the length of a column of an underlying table do changethe description of the view, clearly, but I dont see where the difficulty is "hidden". Can someone enlighten me? Primarily because nobody has written the required code. In [1], which is now quite old, there was some discussion about various aspects of making this better. Perhaps changing the typmod is easier than changing the type completely, but we still don't have any code for it. So for now, you're just stuck manually dropping and recreating your views. David [1] https://www.postgresql.org/message-id/603c8f070807291912x37412373q7cd7dc36dd55a8a7@mail.gmail.com
A bit sad
Thanks..
Le lun. 30 janv. 2023 à 13:53, David Rowley <dgrowleyml@gmail.com> a écrit :
On Tue, 31 Jan 2023 at 01:14, Marc Millas <marc.millas@mokadb.com> wrote:
> But if I alter table to change a column that is a varchar 20 into a varchar 21
> postgres refuse saying that it cannot due to the return rule... using said column
>
> why ?? as the view is not a materialized object, the impact of the length of a column of an underlying table do change the description of the view, clearly, but I dont see where the difficulty is "hidden". Can someone enlighten me?
Primarily because nobody has written the required code.
In [1], which is now quite old, there was some discussion about
various aspects of making this better. Perhaps changing the typmod is
easier than changing the type completely, but we still don't have any
code for it. So for now, you're just stuck manually dropping and
recreating your views.
David
[1] https://www.postgresql.org/message-id/603c8f070807291912x37412373q7cd7dc36dd55a8a7@mail.gmail.com