2016-06-01 3 views
1

2007 년 우리 대통령은 아이들이 학교에 일찍 갔기 때문에 UTC−04:00에서 UTC−04:30으로 바꿉니다. 이제 2016 년에 일찍 도착하는 밤을 결정하고 전기를 절약하기 위해 UTC−04:00으로 되돌아갑니다.pg_timezone_names 뷰를 유지 관리하는 담당자는 누구입니까?

그럼 테이블 pg_timezone_names을 어떻게 업데이트 하시겠습니까? 내가 사용할 수있는 스크립트가 있습니까? 내 서버에 연결할 수있는 서비스입니까?

아니면 변경 될 때마다 직접 테이블을 업데이트해야합니까?

enter image description here

편집 : 난 그냥 pg_timezone_names을 실현은 뷰가 아닌 테이블입니다. 이제는 뷰를 업데이트하는 방법에 대한 의문이 생깁니다.

두 번째 편집 : 임 사용하여 Windows Server 2008 및 포스트 그레스 9.3

+1

더 쉬운 해결책은 시간대를 망쳐 놓는 것이 좋은 아이디어라고 생각하는 정치인을 제거/투표하는 것입니다. –

+0

@MarcB 우리는 그렇게하려고 노력하고 있습니다. –

+0

보기를 업데이트하지 않습니다. 뷰가 쿼리하는 기본 테이블을 업데이트합니다. 그것이 PG에있는 것이면 쉽게 할 수 있습니다. 어떻게 든 외부 파일에서 데이터를 가져 오는 경우 해당 파일을 업데이트해야합니다. –

답변

3

당신이 베네수엘라에 대한 언급의 변화가 tz database 버전 2016d으로 처리했다. 2016d 릴리스 노트 here을 읽을 수 있습니다.

Postgres는 이러한 업데이트를 postgres의 각 릴리스 버전으로 컴파일합니다. Postgres 시간대 버전 기록 here을 볼 수 있습니다. 이 정보를 통해 2016-05-06에 2016d 데이터가 Postgres 소스 코드에 추가되었음을 알 수 있습니다. 즉, 이후 출시 된 모든 버전의 Postgres에는 해당 시간대가 변경되어야합니다.

the Postgres home page에서 오른쪽 상단 모서리에 최신 릴리스 버전을 볼 수 있습니다. 9.3에 머물고 싶다면 2016-05-12에 발표 된 9.3.13의 최신 빌드로 업데이트하십시오. 실제로, the release notes for 9.3.13에,이 언급 :

  • 업데이트 시간대 데이터 파일을 러시아와 베네수엘라 DST 법률 변경에 대한 2016d를 해제 tzdata 할 수 있습니다. ... 포스트 그레스는 그러나 그것은 등 리눅스, OSX, 배포 등 tzdata ZIC는 컴파일 찾을 것으로 예상, 당신은 OS tzdata 업데이트를 사용하여 최신 상태를 유지하는 데 사용할 수있는 옵션 --with-system-tzdata=DIRECTORY을 준다

주 이 데이터는 Windows에서이 형식으로 사용할 수 없습니다. 따라서 Postgres와 함께 제공되는 tzdata를 사용해야합니다.

그래서 어떻게 pg_timezone_names 테이블을 업데이트 할 수 있습니까? 내가 사용할 수있는 스크립트가 있습니까? 내 서버에 연결할 수있는 서비스입니까?

아니요, Windows에서이 작업을 수행하는 자동화 된 방법은 없습니다 (알고 있습니다). 최신 버전의 Postgres로 계속 업데이트해야합니다. 리눅스에서는 tzdata 업데이트를 자동화하고 앞서 언급 한 옵션 플래그를 사용할 수 있습니다.

또는 단지는

수동으로 시간대 데이터를 조작하지 마십시오 ... 테이블에게 자신을 업데이트해야합니다. 생각보다 훨씬 복잡합니다.

... 나는 언제나 뭔가 변화를 들었습니까?

시간대 데이터 업데이트를 알고 싶다면 tz 공지 사항 메일 링리스트 at IANA에 가입하십시오.

Postgres's RSS feed에 가입하는 것도 좋습니다. 결국 Postgres's support lifecycle을 기억해 두십시오. 결국 사소한 업데이트가 끝날 것이므로 현재 상태를 유지하려면 더 많은 업그레이드를 수행해야합니다.

+0

감사합니다. Matt. 나는 단지 텍스트 파일을 업데이트해야한다고 호핑했다. 하지만 업그레이드를 계획해야하는 것 같습니다. –

+0

어쩌면 이것은 자신의 질문이되어야하지만 나는 혼란스럽고 어디서 누구에게 물어볼 지 모릅니다. pg_timezone_names를 볼 때 "America/Los_Angeles"에 약어 "PDT"가 들어있는 레코드가 하나 있습니다. 그러나 우리는 가을에 "America/Los_Angeles"가 "PST"로 변경된다는 것을 알고 있습니다. Postgres는이 변경 사항을 자동으로 처리합니까, 아니면 일 년에 두 번씩 실행해야합니까? 이것으로 설명 하겠지만 여전히 명확하지는 않습니다. https://www.postgresql.org/docs/8.2/static/view-pg-timezone-names.html – iJames

+1

@iJames - 예, 자체 질문이어야합니다. 또한 링크 된 페이지의 텍스트를 읽는 것만으로도 정확히 무엇을 묻고 있는지 설명 할 수 있습니다. –

관련 문제