現在デフォルトのタイムスタンプ列を持つテーブルを作成する方法はありますか?
以下のいずれも作成に成功しますが、挿入に失敗します。
CREATE TABLE MyTable
(
device_id VARCHAR(64) NOT NULL encode lzo,
app_id VARCHAR(150) NOT NULL distkey encode lzo,
retrieval_date TIMESTAMP without time zone default (now() at time zone 'utc') encode lzo
)
diststyle key
compound sortkey(app_id,device_id);
次に、挿入時に:
insert into MyTable (device_id,app_id) values('a','b');
INFO: Function "timezone(text,timestamp with time zone)" not supported.
INFO: Function "now()" not supported.
ERROR: Specified types or functions (one per INFO message) not supported on Redshift tables.
以下のように他のフレーバーを試しましたが、すべて失敗します。
a)単一引用符で囲まれた 'now'で今すぐ試行しましたが、作成は成功しましたが、別のエラーで失敗しました
b)タイムゾーンなしで試して、作成に成功し、挿入に失敗した。
SYSDATE
またはGETDATE()
を使用して、現在のタイムスタンプ値を入力できます。例を示します。
dev=> create table my_table (id int, created_at datetime default sysdate);
CREATE TABLE
dev=> insert into my_table (id) values (1);
INSERT 0 1
dev=> select * from my_table;
id | created_at
----+---------------------------
1 | 2016-01-04 19:07:14.18745
(1 row)