Tôi có một cột TIMESTAMP WITHOUT TIME ZONE
loại và muốn có mặc định đó cho thời điểm hiện tại trong UTC. Có được thời gian hiện tại trong UTC thật dễ dàng:
postgres=# select now() at time zone 'utc';
timezone
----------------------------
2013-05-17 12:52:51.337466
(1 row)
Như đang sử dụng dấu thời gian hiện tại cho một cột:
postgres=# create temporary table test(id int, ts timestamp without time zone default current_timestamp);
CREATE TABLE
postgres=# insert into test values (1) returning ts;
ts
----------------------------
2013-05-17 14:54:33.072725
(1 row)
Nhưng điều đó sử dụng giờ địa phương. Cố gắng buộc UTC đó dẫn đến lỗi cú pháp:
postgres=# create temporary table test(id int, ts timestamp without time zone default now() at time zone 'utc');
ERROR: syntax error at or near "at"
LINE 1: ...int, ts timestamp without time zone default now() at time zo...