Tu sempre ottenere gli same data in browser client as the db original value
. Esistono solo molti modi diversi per visualizzare lo stesso momento (in fusi orari diversi). Due esempi (rappresentazioni testuali di un timestamptz
valore):
'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'
Stesso valore .
Per quanto riguarda Postgres, l'impostazione del fuso orario del server è del tutto irrilevante. L'unica cosa rilevante è l'impostazione della sessione. E l'unica cosa che cambia è il display del valore. È sempre lo stesso momento.
Quindi imposta il fuso orario nella tua sessione per ottenere la rappresentazione del testo corrispondente:
- Imposta il fuso orario dell'istanza PostgreSQL
- Esegui il dump e il ripristino di PostgreSQL in diversi fusi orari
- Imposta il fuso orario della colonna timestamp in PostgreSQL
Un'altra opzione sarebbe AT TIME ZONE
costruire. Per ottenere un timestamp
come locale timestamp without time zone
:
SELECT my_timestamptz_column AT TIME ZONE '-8';
Quando si ha a che fare con una table that contains a column of timezone type
, questo potrebbe essere l'approccio migliore, poiché il fuso orario può cambiare per ogni riga.
Ancora una volta, tutto questo è nella risposta di riferimento: