0

PostgreSQL 9.2 サーバーでポルターガイストが発生しました。

タイムスタンプ列 (date_published) を含む行を挿入すると、次のクエリを実行すると、行がリストに表示されます。

select * from a_table

しかし、言及された日付 (date_published) 列を CURRENT_TIMESTAMP と比較するクエリを実行すると、行が表示されません。

select * from a_table
             WHERE date_published < current_timestamp

上記のクエリは、約 3 ~ 4 時間後の行のみを示しています。

date_published 列のタイプは次のとおりです。

...,date_published TIMESTAMP(6) WITHOUT TIME ZONE NULL,...
4

1 に答える 1

0

解決しました!!!

@Przemyslaw Kruglej が言及したように、問題は PostgreSQL サーバーのタイムゾーン構成にあります。PostgreSQL 構成ファイルでタイムゾーンを構成する必要があります。

Windows ユーザーの場合は、.../PostgreSQL/9.2/data/postgresql.conf に移動します。

「log_timezone」と「timezone」をタイムゾーンの場所に変更します。私の場合は「アジア/アルマトイ」です

サーバーを保存して再起動します。私の場合、すべての変更は PC の再起動後にのみ機能し始めました。

とても幸運!

于 2013-11-06T10:42:06.037 に答える