PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Informasi zona waktu apa yang disimpan PostgreSQL?

Kedua asumsi Anda salah:

PostgreSQL menyimpan timestamp with time zone sebagai bilangan bulat 8-byte yang berisi offset dari 2000-01-01 00:00:00 UTC dalam mikrodetik.

Jadi itu tidak menyimpan zona waktu, juga tidak presisi 1 menit.

Setelah konversi ke string, stempel waktu diformat sesuai dengan pengaturan timezone saat ini parameter.

Jadi jika Anda harus menyimpan zona waktu secara terpisah jika Anda perlu mengingatnya dan gunakan AT TIME ZONE ekspresi untuk mengonversi stempel waktu ke zona waktu yang tepat.

Anda meminta referensi dokumentasi. Bagian dari itu adalah di sini :

/*
 * 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.)

Dalam file yang sama, Anda menemukan

/* 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) */



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan array UUID PostgreSQL sebagai daftar dengan psycopg2

  2. Meratakan relasi dengan array untuk memancarkan satu baris per entri array

  3. PostgreSQL:bagaimana cara mengonversi dari zaman Unix hingga saat ini?

  4. Bagaimana Fungsi Sign() Bekerja di PostgreSQL

  5. Pernyataan GROUP BY + CASE