PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PostgreSQL lưu trữ thông tin múi giờ nào?

Cả hai giả định của bạn đều sai:

PostgreSQL lưu trữ timestamp with time zone dưới dạng số nguyên 8 byte chứa phần bù từ 2000-01-01 00:00:00 UTC tính bằng micro giây.

Vì vậy, nó không lưu trữ múi giờ, cũng không phải là độ chính xác 1 phút.

Khi chuyển đổi thành một chuỗi, dấu thời gian được định dạng theo cài đặt hiện tại của timezone tham số.

Vì vậy, nếu bạn phải lưu trữ múi giờ riêng nếu bạn cần nhớ nó và sử dụng AT TIME ZONE biểu thức để chuyển đổi dấu thời gian thành múi giờ thích hợp.

Bạn yêu cầu tài liệu tham khảo. Một phần trong số đó là tại đây :

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

Trong cùng một tệp, bạn tìm thấy

/* 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. Tìm kiếm mờ ActiveRecord

  2. Kết nối Excel với PostgreSQL qua VBA

  3. Quy trình xử lý di chuyển và khởi tạo tiếp theo?

  4. Kết nối Orbeon Forms Postgres DB

  5. postgresql:enum và ký tự thay đổi, đang cập nhật