Re: VS: BUG #16404: PostgreSQL 12.2: Database restore does not accept the EEST time zone.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: VS: BUG #16404: PostgreSQL 12.2: Database restore does not accept the EEST time zone.
Дата
Msg-id 5173.1588605856@sss.pgh.pa.us
обсуждение исходный текст
Ответ на VS: BUG #16404: PostgreSQL 12.2: Database restore does not accept theEEST time zone.  ("Suhonen Reijo (Valtori)" <reijo.suhonen@valtori.fi>)
Список pgsql-bugs
"Suhonen Reijo (Valtori)" <reijo.suhonen@valtori.fi> writes:
> postgresql.conf
> restore_command = 'unxz -k < /srv/pgbackup/12/data/archive/%f.xz > %p'
> recovery_target_time = '2020-05-04 09:54:30 EEST'
> recovery_target_action = 'pause'

Ah.  I can reproduce it when I set recovery_target_time that way.

The reason seems to be that while loading the config file for the first
time, timezone_abbreviations hasn't been set yet, so the timestamp parser
doesn't know any timezone abbreviations at all.

It does work to use full time zone names (Europe/Helsinki, say)
or of course you could use a numeric UTC offset.

Another workaround is to explicitly set timezone_abbreviations
before you set recovery_target_time in the config file (i.e.,
move and uncomment the timezone_abbreviations setting).  But ugh.

Maybe it's possible to fix this, but I don't really see any non-kluge
way to do that.  I'm inclined to just document that timezone abbreviations
aren't accepted in this variable.

Note for anybody trying to reproduce this: I was misled for awhile
by the fact that a few abbreviations like "EST" *do* work.  The
reason turns out to be that the tzdata database has entries for those
names, so that our code path for full time zone names successfully
parses them after the abbreviations code fails to.

            regards, tom lane



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: BUG #16415: Postgres 11.6 CentOS docker image needs a repo update
Следующее
От: Andres Freund
Дата:
Сообщение: Re: BUG #16393: PANIC: cannot abort transaction, it was alreadycommitted