2
postgresql 9.2에서 도입 된 데이터 유형의 시작 값으로 now()
을 정의 할 수 있습니까? in the documentation을 언급 한 바와 같이postgresql 9.2에서 tztsrange의 now()를 기본값으로 사용
'["2012-09-18 15:00:47.334196+02",infinity]'::tstzrange;
postgresql 9.2에서 도입 된 데이터 유형의 시작 값으로 now()
을 정의 할 수 있습니까? in the documentation을 언급 한 바와 같이postgresql 9.2에서 tztsrange의 now()를 기본값으로 사용
'["2012-09-18 15:00:47.334196+02",infinity]'::tstzrange;
당신이 범위를 정의 할 수 있습니다 : 나는 테이블과 기본 값은 항상에도 불구하고 동일 변경하여이
ALTER TABLE test_table ALTER COLUMN tstz_range SET DEFAULT '[now,infinity]'::tstzrange;
그러나 그러한 표현 now()
에서
SELECT tstzrange(now(), 'infinity', '[)');
┌────────────────────────────────────────────┐
│ tstzrange │
├────────────────────────────────────────────┤
│ ["2012-09-18 15:33:50.186351+00",infinity) │
└────────────────────────────────────────────┘
그래서 당신은 쉽게 함수를 사용하여 기본값을 만들 수 있습니다
CREATE TABLE plop (
id serial PRIMARY KEY,
some_range tstzrange DEFAULT tstzrange(now(), 'infinity', '[)')
);
고맙습니다. tstzrange를 반환하는 자체 함수를 정의하려고했지만이 솔루션은 훨씬 더 우아합니다. –