Further experimentation: regression=# create table foo3 (f1 date default current_date, regression(# f2 time(3) default current_time, regression(# f3 timestamp(3) default current_timestamp); CREATE regression=# insert into foo3 default values; (multiple times) regression=# select * from foo3; f1 | f2 | f3 ------------+----------+----------------------------- 2001-10-03 | 13:32:07 | 2001-10-03 13:32:07-04 2001-10-03 | 13:32:08 | 2001-10-03 13:32:08.3020-04 2001-10-03 | 13:32:09 | 2001-10-03 13:32:09.4280-04 2001-10-03 | 13:32:10 | 2001-10-03 13:32:10.2530-04 2001-10-03 | 13:32:10 | 2001-10-03 13:32:10.8850-04 2001-10-03 | 13:32:11 | 2001-10-03 13:32:11.2930-04 2001-10-03 | 13:32:11 | 2001-10-03 13:32:11.6650-04 2001-10-03 | 13:32:12 | 2001-10-03 13:32:12.04-04 2001-10-03 | 13:32:13 | 2001-10-03 13:32:13.3730-04 (9 rows)
So the real issue appears to be that subsecond resolution isn't propagating into time and timetz at all. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster