Обсуждение: inconsistent time zone formats in log

Поиск
Список
Период
Сортировка

inconsistent time zone formats in log

От
Peter Eisentraut
Дата:
The xlog code uses two different time zone formats at various times.
Here is an example:

2012-12-29 07:04:07.338 EST LOG:  database system was interrupted; last known up at 2012-12-29 06:27:02 EST
2012-12-29 07:04:26.347 EST LOG:  last completed transaction was at log time 2012-12-29 06:34:24.394802-05

The second format also does not respect log_timezone, which seems a bit
of a bug.

It's also not clear why we need three different ways to show
milliseconds within the space of two lines.

Could we make some of this more consistent?





Re: inconsistent time zone formats in log

От
Andres Freund
Дата:
On 2012-12-29 07:23:24 -0500, Peter Eisentraut wrote:
> The xlog code uses two different time zone formats at various times.
> Here is an example:
>
> 2012-12-29 07:04:07.338 EST LOG:  database system was interrupted; last known up at 2012-12-29 06:27:02 EST
> 2012-12-29 07:04:26.347 EST LOG:  last completed transaction was at log time 2012-12-29 06:34:24.394802-05
>
> The second format also does not respect log_timezone, which seems a bit
> of a bug.
>
> It's also not clear why we need three different ways to show
> milliseconds within the space of two lines.

One is a pg_time_t (stored in pg_control/ControlFileData), the other is
a TimestampTz. Those have completely different code paths for being
printed (pg_strftime vs EncodeDateTime) ...
I don't want to say its impossible or shouldn't be fixed, just that its
not trivial to do so.

Greetings,

Andres Freund

--Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



Re: inconsistent time zone formats in log

От
Tom Lane
Дата:
Andres Freund <andres@2ndquadrant.com> writes:
> On 2012-12-29 07:23:24 -0500, Peter Eisentraut wrote:
>> The xlog code uses two different time zone formats at various times.

> One is a pg_time_t (stored in pg_control/ControlFileData), the other is
> a TimestampTz. Those have completely different code paths for being
> printed (pg_strftime vs EncodeDateTime) ...
> I don't want to say its impossible or shouldn't be fixed, just that its
> not trivial to do so.

Presumably, any fix would involve changing one or the other of those
so that we use only one timestamp representation in xlog.  I'm not
terribly convinced that it's worth worrying about though.  Do we need
microsecond precision in the database start/stop times?
        regards, tom lane



Re: inconsistent time zone formats in log

От
Gavin Flower
Дата:
On 30/12/12 05:24, Tom Lane wrote:
Andres Freund <andres@2ndquadrant.com> writes:
On 2012-12-29 07:23:24 -0500, Peter Eisentraut wrote:
The xlog code uses two different time zone formats at various times.
One is a pg_time_t (stored in pg_control/ControlFileData), the other is
a TimestampTz. Those have completely different code paths for being
printed (pg_strftime vs EncodeDateTime) ...
I don't want to say its impossible or shouldn't be fixed, just that its
not trivial to do so.
Presumably, any fix would involve changing one or the other of those
so that we use only one timestamp representation in xlog.  I'm not
terribly convinced that it's worth worrying about though.  Do we need
microsecond precision in the database start/stop times?
		regards, tom lane


If I saw an inconsistency like that in a production log, while chasing an apparent case of corruption, I would tend to think that the differences in time might be giving me a hint.  Knowing my luck, that will happen to me in a couple of years, after I've forgotten this email tread!


Cheers,
Gavin