Subject: Re: Should we document how column DEFAULT expressions work?

From: Tom Lane <[email-masked]>
Date: Wed, 26 Jun 2024 20:11:03 -0400

David Rowley <[email-masked]> writes:
> Maybe I'm slow on the uptake, but I've yet to see anything here where
> time literals act in a special way DEFAULT constraints. This is why I
> couldn't understand why we should be adding documentation about this
> under CREATE TABLE.

It's not that the parsing rules are any different: it's that in
ordinary DML queries, it seldom matters very much whether a
subexpression is evaluated at parse time versus run time.
In CREATE TABLE that difference is very in-your-face, so people
who haven't understood the rules clearly can get burnt.

However, there are certainly other places where it matters,
such as queries in plpgsql functions.  So I understand your
reluctance to go on about it in CREATE TABLE.  At the same
time, I see where David J. is coming from.

Maybe we could have a discussion of this in some single spot,
and link to it from CREATE TABLE and other relevant places?
ISTR there is something about it in the plpgsql doco already.

			regards, tom lane

---

From: Pantelis Theodosiou <[email-masked]>
Date: Sat, 6 Jul 2024 10:51:20 +0100

> ISTR there is something about it in the plpgsql doco already.

+1 to this idea.