И двете ви предположения са грешни:
PostgreSQL съхранява timestamp with time zone
като 8-байтово цяло число, което съдържа отместването от 2000-01-01 00:00:00 UTC
в микросекунди.
Така че нито съхранява часовата зона, нито точността е 1 минута.
При преобразуване в низ клеймото за време се форматира според текущата настройка на timezone
параметър.
Така че, ако трябва да съхраните часовата зона отделно, ако трябва да я запомните и използвайте AT TIME ZONE
израз за преобразуване на клеймото за време в правилната часова зона.
Искате препратки към документация. Част от това е тук :
/*
* Timestamp represents absolute time.
[...]
* Timestamps, as well as the h/m/s fields of intervals, are stored as
* int64 values with units of microseconds. (Once upon a time they were
* double values with units of seconds.)
В същия файл намирате
/* Julian-date equivalents of Day 0 in Unix and Postgres reckoning */
#define UNIX_EPOCH_JDATE 2440588 /* == date2j(1970, 1, 1) */
#define POSTGRES_EPOCH_JDATE 2451545 /* == date2j(2000, 1, 1) */