postgresqlデータベース移行プロジェクトにoracleを使用しています。私はポストグルからオペレーティングシステムの日付と時刻を読む必要があります。 oracle sysdate()は、日付型データのシステム日付時刻を返し、systimestamp()は、time_zone変数の設定に関係なく、タイムスタンプ型データを返します。しかし、postgresでは、current_date()とcurrent_timestamp()は、そのデータベースに設定されたtimezone変数に相対的な結果を与えます。 タイムゾーン変数を同期させること(つまり、set timezone = 'utc')は1つの方法ですが、私は自分のタイムゾーン変数を変更したくありません。oracleのsystimestamp()のようなpostgresに等価な関数がありますか?
私が取得したいのは、システムの現在の日付と時刻(時間帯が含まれるかどうか)がoracleのようなものです。どんなpl/pgsqlでも便利です。ありがとう
https://www.postgresql.org/docs/9.5/static/functions-datetime.html選択してください... BTW:タイムスタンプは現在のタイムゾーンではありません*、すべてのタイムスタンプはUTCでそれにtzが追加されています。これは、表示/日付フォーマットの問題ではない可能性があります。 – wildplasser
['set local time zone local'](https://www.postgresql.org/docs/current/static/sql-set.html)は、PostgreSQLでもっとも近いものです。これは*サーバのデフォルトを設定しますタイムゾーンの値。これが明示的にどこにも設定されていない場合は、サーバのオペレーティングシステムがデフォルトの*となるゾーンになります。コミット/ロールバック後にリセットされるか、関数で使用するとリセットされます。その関数が実行されます。 – pozs