Re: View definition changes after reloading pg_dump export

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: View definition changes after reloading pg_dump export
Дата
Msg-id 402822.1662041327@sss.pgh.pa.us
обсуждение исходный текст
Ответ на View definition changes after reloading pg_dump export  (Wesley Schwengle <wesley.schwengle@xxllnc.nl>)
Ответы Re: View definition changes after reloading pg_dump export  (Wesley Schwengle <wesley.schwengle@xxllnc.nl>)
Re: View definition changes after reloading pg_dump export  (Ron <ronljohnsonjr@gmail.com>)
Список pgsql-general
Wesley Schwengle <wesley.schwengle@xxllnc.nl> writes:
> There is a view that we create and it uses a function and the view 
> definition changes between runs. I'm not sure why this is happening, 
> does someone know?

The core reason for the discrepancy is that the parser inserts
implicit coercion steps into your initial, not-very-consistently-typed
query; but the view-dumping logic (ruleutils.c) tends to display
those steps as explicit coercions.  Formally speaking it shouldn't
do that, because the parser may act differently depending on whether
a cast is explicitly present, as indeed you see here.  But if we don't
write the coercions explicitly then there is a risk of the reloaded view
being interpreted differently than it was before (perhaps because there
are more or different overloaded functions/operators available at reload
time).  So the dumping logic is kind of between a rock and a hard place.
Our experience has been that printing the coercions explicitly causes
fewer problems than not doing so, so that's what it does.

            regards, tom lane



В списке pgsql-general по дате отправления:

Предыдущее
От: Ron
Дата:
Сообщение: Re: Vacuum Full is not returning space to OS
Следующее
От: Wesley Schwengle
Дата:
Сообщение: Re: View definition changes after reloading pg_dump export