당신이 베네수엘라에 대한 언급의 변화가 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을 기억해 두십시오. 결국 사소한 업데이트가 끝날 것이므로 현재 상태를 유지하려면 더 많은 업그레이드를 수행해야합니다.
더 쉬운 해결책은 시간대를 망쳐 놓는 것이 좋은 아이디어라고 생각하는 정치인을 제거/투표하는 것입니다. –
@MarcB 우리는 그렇게하려고 노력하고 있습니다. –
보기를 업데이트하지 않습니다. 뷰가 쿼리하는 기본 테이블을 업데이트합니다. 그것이 PG에있는 것이면 쉽게 할 수 있습니다. 어떻게 든 외부 파일에서 데이터를 가져 오는 경우 해당 파일을 업데이트해야합니다. –