PostgreSQLのローカルタイムゾーンオフセット 質問する

PostgreSQLのローカルタイムゾーンオフセット 質問する

私の Web アプリは、タイム ゾーンなしですべてのタイムスタンプを UTC で保存します。最近のログインのリストを返すシェル/psql スクリプトがあり、そのスクリプトでサーバーのローカル タイム ゾーン (サーバーの場所や夏時間によって異なる場合があります) でログイン時間を表示したいと考えています。

データベース サーバーのタイム ゾーンと UTC の差を表す間隔を取得するために、現在次のハックを使用しています。

SELECT age(now() at time zone 'UTC', now());

それはうまくいきますが、もっと簡単な方法はありますか?

有効なタイムゾーン文字列を返す「timezone」というサーバー構成パラメータがありますが、クエリでこれらのパラメータにアクセスすることはできないと思います。(これは別の質問だと思いますが、それに答えればタイムゾーンの問題が解決するでしょう。)

ベストアンサー1

SELECT  current_setting('TIMEZONE')

これはクエリで使用できますが、数値的な違いは得られません。

あなたの解決策は問題ありません。

おすすめ記事