2013-08-20 2 views
2

postgreSQL 8.2의 분기 된 MPP 버전에 대해 매우 간단한 테스트 쿼리를 시도하고 있으며 이것이 예상되는 동작인지 알아 내려고하고 있습니다. 내가 CURRENT_DATE를 사용하여 단일 행 INSERT 문을 수행 할 때current_date와 관련된이 insert 문의 동작을 설명하는 방법

나는 현재 날짜에 대한 예상 출력을 얻을 : 나는 삽입 문에 둘 이상의 행을 추가 할 때하지만 예기치 않은 결과를

create table test(t_date timestamp without time zone); 

insert into test( t_date) 
VALUES 
(
current_date::date 
), 


db=> select * from test ; 
      t_date   
    --------------------- 
    2013-08-19 00:00:00 
    (1 row) 

를 얻을 수 - 표준의이 부분입니까?

insert into test( t_date) 
VALUES 
(
current_date::date 
), 
(
current_date::date 
); 

    db=> select * from test ; 
      t_date   
    --------------------- 
    1999-12-31 00:00:00 
    1999-12-31 00:00:00 
    (2 rows) 

내 질문은 : 나도 같은 CURRENT_DATE :: 날짜 캐스트를 사용할 때 내가 CURRENT_DATE : 날짜와 두 번째 삽입 출력이 잘못된 날짜를 사용할 때 왜 첫 삽입 문 출력이 정확한 날짜는 무엇입니까?

+2

PostgreSQL 8.2. (무엇)? 어떤 플랫폼에서? 꽤 오래된 버전과 지원되지 않는 버전을 사용하고 있습니다. 내가 9.2.4에 얻은 결과는 정확히 당신이 기대하는 것입니다. –

+0

저는 Greenplum이라는 MPP 데이터베이스에서 Postgresql을 포크로 작업하고 있으므로 오래된 것을 제어 할 수 없습니다. 나는 이것이 우리가있는 플랫폼에서의 버그인지 진짜 기대되는 출력인지를 결정하려고 노력 중이다. – user7980

+0

글쎄, "PostgreSQL 8.2 기반의 Greenplum 4.2를 사용하고 있습니다."라고 말하면 도움이 될 것입니다. 태그를 업데이트했습니다. –

답변

2

그 결과가 잘못된 예상치 못한, 그리고 기괴한입니다.

PostgreSQL 9.2.4에서는 올바른 결과를 얻을 수 있습니다.

regress=> select * from test; 
     t_date   
--------------------- 
2013-08-20 00:00:00 
2013-08-20 00:00:00 
(2 rows) 

as does 8.3, the oldest version I can be bothered testing.

사용중인 PostgreSQL의 패치/해킹 된 버전이 무엇이든 버그가 도입되었습니다.

+0

덕분에 매우 도움이됩니다. 8.2에서 확인한 다음 다른 것들이 모두 실패하면 JIRA를 파일로 만드는 것이 유일한 방법이라고 생각합니다 ... – user7980

+2

@ user7980 나는 greenplum으로 직접 버그를 신고합니다. 이 쿼리의 결과는 8.2가 어떻게 동작하는지에 관계없이 분명하고 분명히 부정확합니다. –

0

그래,이 기능은 VALUES 절을 사용하여 "대량"로드를 허용하는 PostgreSQL의 기능입니다. http://www.postgresql.org/docs/8.2/static/sql-insert.html

아래에 절을 참조하십시오 :

는 다중 행을 사용하여 여러 행을 삽입하려면 구문 값 :

+0

고마워요.하지만 두 번째 insert 문에 대한 출력이 2013-08-19 00:00:00 인 것처럼 처음 예상됩니다. 연결된 문서로 내 질문이 해결되지 않습니다. – user7980

+0

아, 제 대답은 전혀 쓸모가 없었습니다. 미안 해요. 나는 어떻게 든 당신의 질문의 관련 부분을 완전히 건너 뛰었습니다. – bma

관련 문제