質問は短く:タイムゾーンを持たないカラムタイプのタイムスタンプにすでにデータがある場合、タイムゾーンを持つタイムスタンプにタイプを設定すると、postgresqlはこのデータは?PostgreSQLはタイムゾーンのないタイムスタンプを変更する - >タイムゾーンを使用する
答えて
それはlocaltimeの中に現在の値を維持し、あなたのlocaltimeのにタイムゾーンを設定し、オフセット:
create table a(t timestamp without time zone, t2 timestamp with time zone);
insert into a(t) values ('2012-03-01'::timestamp);
update a set t2 = t;
select * from a;
t | t2
---------------------+------------------------
2012-03-01 00:00:00 | 2012-03-01 00:00:00-08
alter table a alter column t type timestamp with time zone;
select * from a;
t | t2
------------------------+------------------------
2012-03-01 00:00:00-08 | 2012-03-01 00:00:00-08
をAlter Tableためのマニュアルによると:
場合は省略[USING句があります]既定の変換は、古いデータ型から新しいものへの代入キャストと同じです。
はタイムスタンプ間Date/Time types
変換するためのマニュアルに従って時間なしタイムゾーンとゾーンとタイムスタンプがは、通常時間帯値無しタイムスタンプとし、または与えられるべきであることを前提としていtimezone現地時間。
AT TIME ZONE
を使用して、異なるタイムゾーンを指定することができます。
はい。この動作は、タイムゾーンなしのタイムスタンプからタイムゾーン付きのタイムスタンプへのキャストとまったく同じです。異なるものを使用したい場合は、 'ALTER COLUMN column TYPE TYPE TYPE USING
明示的にタイムゾーンを指定する方が良いです。タイムスタンプがUTC(ただしタイムゾーンなし)に設定されている場合は、クライアントまたはサーバーのタイムゾーンがすべてここで混乱している可能性があることに注意する必要があります。代わりに:
ALTER TABLE a ALTER COLUMN t TYPE TIMESTAMP WITH TIME ZONE USING t AT TIME ZONE 'UTC'
- 1. PostgreSQLのタイムゾーンのないタイムスタンプに変更するカラムタイプを変更
- 2. django - ランダムにタイムゾーンを変更するタイムスタンプ
- 3. Postgresql-simpleでタイムゾーン付きタイムスタンプを取得する
- 4. PHPのタイムゾーンをサーバのタイムゾーンに変更する
- 5. タイムゾーンの変更
- 6. postgresqlのタイムゾーンなしのタイムスタンプのためのhibernateマッピング?
- 7. adbを使用してタイムゾーンを変更するには
- 8. PostgreSQL 9.1タイムゾーン
- 9. Mailgunのログのタイムゾーンを変更する
- 10. Qtとpostgresqlのタイムゾーン
- 11. メンバーシップクラスのタイムゾーンを変更する
- 12. データのタイムゾーン値を変更する
- 13. Railsタイムゾーン:Time.currentを変更しないTime.current
- 14. タイムスタンプとタイムゾーンを使用しています
- 15. JavaScript変更のタイムゾーン
- 16. UTC JodaTime.DateTimeオブジェクトを別のタイムゾーンのタイムスタンプに変換する
- 17. Arshaw FullCalendarのタイムゾーンを変更
- 18. ワードプレスプラグインのタイムゾーンを変更
- 19. タイムゾーンなしでタイムスタンプを作成
- 20. PHP/MySQLのタイムスタンプとタイムゾーン
- 21. Python pytzあるタイムゾーンから別のタイムゾーンにタイムスタンプ(文字列形式)を変換する
- 22. 異なるタイムゾーンのタイムスタンプは同じですか?
- 23. タイムゾーン付きのdjangoでのUnixタイムスタンプのタイムゾーン
- 24. 特定のタイムゾーンでunixタイムスタンプを取得
- 25. Logstashでタイムゾーンを変更します
- 26. java接続でmysqlのタイムゾーンを変更するには
- 27. 異なるタイムゾーン
- 28. JSのデフォルトでタイムゾーンを変更
- 29. Mavenはシステムとは異なるタイムゾーンを使用します
- 30. AT TIME ZONEを使用するGMT変換のタイムゾーン指定子
あなたは正しいですが、私のアプリケーション/ db/whateverを起動するまで、答えが出るかもしれません。 – gyorgyabraham
@a_horse_with_no_nameなぜなら、「それは一度はうまくいきました」というのは、何時に何ができるのかを知るための非常に悪い方法ですから! –
@couling:複数回実行すると、同じステートメントセットで異なる結果が生じることを暗示していますか?すべての入力パラメータが同じであっても?この場合、dbhenurの答えは何も証明されません。なぜなら、そのステートメントを実行することによって、次回は同じ方法で動作するとは保証されないからです。 –