2016-06-01 11 views
1

2007年、大統領は子どもたちが早く学校に通ったので、UTC−04:00からUTC−04:30に変更しました。今すぐ2016年に夜が到着するとすぐに決定し、電気を節約するためにUTC−04:00に戻ります。keep pg_timezone_namesビューの担当者は誰ですか?

テーブルpg_timezone_namesを更新するにはどうすればよいですか?私が使用できるスクリプトはありますか、私のサーバーにリンクできるサービスはありますか?

何か変わったと聞いた毎回、自分でテーブルを更新する必要がありますか?

enter image description here

EDIT:私はちょうどpg_timezone_namesを実現するには、ビューではなくテーブルです。だから今、私はどのようにビューを更新するかという挑戦的な質問ですか?

第二編集:イム使用して、Windows Server 2008とのpostgres 9.3

+1

簡単な解決策は、タイムゾーンを混乱させることが良い考えだと思う政治家を排除することです。 –

+0

@MarcB私はそれをやろうとしています。 –

+0

ビューを更新しません。ビューが照会している基礎となるテーブルを更新します。それがPGの中にあれば、それは簡単です。それが何らかの形で外部ファイルからデータを取得する場合、そのファイルを更新する必要があります。 –

答えて

3

あなたがベネズエラのために言及変更はtz databaseのバージョン2016dで処理されていました。 2016dリリースノートhereを読むことができます。

Postgresはこれらのアップデートをpostgresの各リリースバージョンにコンパイルします。 Postgresのタイムゾーンバージョンの履歴hereが表示されます。この情報から、2016年5月6日に2016dのデータがPostgresソースコードに追加されたことが分かります。つまり、これ以降にリリースされたPostgresのどのバージョンにも、関連するタイムゾーンの変更が必要です。

the Postgres home pageには、右上隅に最新のリリースバージョンが表示されます。 9.3のままにしたい場合は、最新のビルド(9.3.13、2016-05-12)にアップデートしてください。ロシアとベネズエラにおける夏時間規則の変更2016dをtzdataリリースする

  • 更新時間帯データファイル:確かに、the release notes for 9.3.13では、これに言及しています。 ... Postgresが、しかし、それは、などのLinux、OSX、一緒に配布などのtzdata ZICは、コンパイルを見つけることを期待、あなたはOSのtzdataアップデートを使用して、現在の滞在するために使用できるオプション--with-system-tzdata=DIRECTORYを与えること

注意このデータはWindowsではこの形式では利用できません。したがって、Postgresに同梱されているtzdataを使用する必要があります。

テーブルpg_timezone_namesをどのように更新しますか?私が使用できるスクリプトはありますか、私のサーバーにリンクできるサービスはありますか?

いいえ、これは私が知っているWindows上でこれを行う方法はありません。現在のバージョンのPostgresで最新の状態を維持する必要があります。 Linuxでは、tzdataの更新を自動化し、前述のオプションフラグを使用することができます。

それとも、テーブルを自分自身をアップデートする必要が...

は手動でタイムゾーンのデータを操作しようとしないでください。それはあなたが考えるかもしれないはるかに複雑です。

...毎回何か変わったと聞いたことがありますか?

タイムゾーンデータの更新を認識したい場合は、tz announcementsメーリングリストat IANAを購読してください。

また、Postgres's RSS feedを購読することも考えられます。 Postgres's support lifecycleも念頭に置いてください。最終的にマイナーなアップデートが終了する予定であり、最新の状態を維持するにはさらに充実したアップグレードを行う必要があります。

+0

ありがとうございました。私はホッピングしていただけで、テキストファイルを更新する必要があります。しかし、私はアップグレードを計画する必要があるように見えます。 –

+0

これは独自の質問でなければならないかもしれませんが、私は混乱しており、どこで誰に質問するのか分かりません。 pg_timezone_namesを見ると、 "America/Los_Angeles"の略語 "PDT"を含むレコードが1つ表示されます。しかし、秋に "America/Los_Angeles"は "PST"に変更されています。 Postgresはこの変更を自動的に処理するのでしょうか、年に2回実行する必要がある何かがありますか?これについて説明していると思いますが、それでもまだ完全にはわかりません:https://www.postgresql.org/docs/8.2/static/view-pg-timezone-names.html – iJames

+1

@iJames - はい、リンク先のページのテキストを読み込むだけで、あなたが尋ねていることを正確に説明します。 –

関連する問題