Chcę uzyskać aktualną nazwę strefy czasowej. co już osiągnięte jest uzyskanie/skrótu strefy czasowej utc_offset poprzez:Jak uzyskać aktualną nazwę strefy czasowej w Postgresie 9.3?
SELECT * FROM pg_timezone_names WHERE abbrev = current_setting('TIMEZONE')
To daje mi wszystkie kombinacje Kontynent/kapitału dla tej strefy czasowej, ale nie dokładną strefę czasową. Na przykład dostaję:
Europe/Amsterdam
Europe/Berlin
Serwer jest w Berlinie i chcę uzyskać nazwę strefy czasowej serwera.
Problem jaki mam z CET, że zawsze jest to UTC + 01: 00 i nie uwzględnia DST iirc.
Właściwą nazwą strefy czasowej dla Berlina i Amsterdamu jest czas środkowoeuropejski (CET). Ogólnie nazwy stref czasowych i skróty nie są dobrze zdefiniowane; podczas gdy istnieje standard ISO, wiele krajów stosuje własne definicje. Obsługa PostgreSQL również nie jest kompletna, więcej szczegółów można znaleźć na stronie http://www.postgresql.org/docs/9.4/static/datetime-config-files.html. – Patrick
W tabeli pg_timezone_names CET jest zdefiniowany jako skrót, a np. "Europa/Berlin" jako nazwa. Potrzebuję nazwy, a nie skrótu. – Deutro
Link podany w poprzednim komentarzu pokazuje, w jaki sposób możesz edytować pliki, aby zapewnić to, czego potrzebujesz. To jest tak dobre, jak to tylko możliwe. – Patrick