collector's time is wrong.(year 2038 problem)

Started by 石原 和樹over 9 years ago2 messagesbugs
Jump to latest
#1石原 和樹
Kazuki.Ishihara@keisetsu.jp

Dear PostgreSQL Developers.

This problem occurs at ver. 9.3 or later.

Test environment

Windows 7 Ultimate (64bit)

Language:Japanese

PostgreSQL 9.3.6 and 9.6.1

Windows 8 Embedded (64bit).

Language:English

PostgreSQL 9.3.5

Steps

1. Change current time. (e.g. Sep. 1st 2040)

2. Start PostgreSQL Service.

If someone change the current time after than January 9th 2038.

pgstat_recv_inquiry() method was wrong behavior, because GetCurrentTimestamp() returned wrong timestamp.

Could you see following logs.(Winows7 x64 PostgreSQL ver.9.6.1)

2040-11-01 14:32:29 JST LOG: database system was shut down at 2016-11-01 14:29:15 JST

2040-11-01 14:32:29 JST LOG: MultiXact member wraparound protections are now enabled

2040-11-01 14:32:29 JST LOG: database system is ready to accept connections

2040-11-01 14:32:29 JST LOG: autovacuum launcher started

2040-11-01 14:32:29 JST LOG: stats_timestamp 2016-11-01 14:29:15.049209+09 is later than collector's time 1904-09-26
08:04:13.934251+09 for database 0

2040-11-01 14:33:30 JST LOG: stats collector's time 2016-11-01 14:29:15.049209+09 is later than backend local time 1904-09-26
08:05:14.025556+09

2040-11-01 14:33:30 JST LOG: stats_timestamp 2016-11-01 14:29:15.049209+09 is later than collector's time 1904-09-26
08:05:14.025556+09 for database 12401

And I don't know whether this causes, but the state of the PostgreSQL service in the Service Manager won't be "starting".

Could you investigating these problem.

best regards.

/*------------------------------------------------

Kazuki Ishihara

Mail: <mailto:Kazuki.Ishihara@keisetsu.jp> Kazuki.Ishihara@keisetsu.jp

------------------------------------------------*/

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: 石原 和樹 (#1)
Re: collector's time is wrong.(year 2038 problem)

=?iso-2022-jp?B?GyRCQFA4NhsoQiAbJEJPQjx5GyhC?= <Kazuki.Ishihara@keisetsu.jp> writes:

1. Change current time. (e.g. Sep. 1st 2040)
2. Start PostgreSQL Service.

This is not going to work on any platform that uses 32-bit time_t.
It's not our bug, it's that the system time API doesn't work after 2038.

The short answer is that you're not going to still be using Windows 8
in 2040, so don't worry about it.

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs