Skip site navigation (1) Skip section navigation (2)

Default Values Section

From: "Lourival Oliveira" <lourival(at)lourival(dot)eti(dot)br>
To: <pgsql-docs(at)postgresql(dot)org>
Subject: Default Values Section
Date: 2005-01-04 17:51:19
Message-ID: 009401c4f286$01cc6b50$fc00a8c0@hermes (view raw or flat)
Thread:
Lists: pgsql-docs
I have a problem reading the "5.3 Default Values" Section of 
Postgresql8.0.0-rc1 documentation. In this section there are nothing about 
using 'now' constant. I think which there are a conflict with a note about 
'now' in section "9.9. Date/Time Functions and Operators" which show the way 
to achieve the desired behavior. See:

5.3. Default Values

...

The default value may be a scalar expression, which will be evaluated 
whenever the default value is inserted (not when the table is created).


9.9. Date/Time Functions and Operators

...

SELECT CURRENT_TIMESTAMP;
SELECT now();
SELECT TIMESTAMP 'now';
Note: You do not want to use the third form when specifying a DEFAULT clause 
while creating a table. The system will convert now to a timestamp as soon 
as the constant is parsed, so that when the default value is needed, the 
time of the table creation would be used! The first two forms will not be 
evaluated until the default value is used, because they are function calls. 
Thus they will give the desired behavior of defaulting to the time of row 
insertion.

I think which a simple reference to any unpredictable behavior must be 
placed here to avoid confusion when anybody don't reach the desired behavior 
when use default values.

What think you about my suggestion?

Wait replies, Tanks.

Lourival Oliveira da Silva

PS: Sorry by my poor English. 



Responses

pgsql-docs by date

Next:From: Peter EisentrautDate: 2005-01-04 21:38:05
Subject: man pages fixed
Previous:From: Bruce MomjianDate: 2005-01-04 03:47:26
Subject: Re: Updated Russian translation of the FAQ

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group