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

Ý nghĩa của epoch trong txid_current () trong postgresql là gì?

Epoch được sử dụng để ngăn txid_current () quấn quanh và bắt đầu từ 0 (hoặc chính xác là từ 3 vì các giá trị 0,1,2 được sử dụng nội bộ).

Vì vậy, nó hoạt động nhẹ nhàng sau:

Postgres có bộ đếm xid 32 bit bên trong khác với giá trị được trả về bởi txid_current (). Xid nội bộ bao bọc xung quanh và đặt lại số đếm của nó ở mỗi vòng kết thúc.

Mặt khác, txid_current () trả về 64bit (bigint), trong đó các bit cao là một gia số kỷ nguyên xảy ra một lần trên mỗi xid quấn quanh và không bắt đầu từ số không.

Vì vậy, ở mọi thời điểm xung quanh, kỷ nguyên bắt đầu và các bit cao của txid_current () được sửa đổi để ngăn txids đặt lại và thay vào đó, txids tiếp tục tăng cho đến khi đạt đến giới hạn 64 bit (đôi khi trong một tương lai rất xa, rất lâu sau khi tất cả chúng ta chết).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tạo một hàm kích hoạt động trong pgsql?

  2. Hai chủ sở hữu của cùng một cơ sở dữ liệu PostgreSQL

  3. Cố gắng xây dựng Truy vấn PostgreSQL để trích xuất từ ​​JSON một giá trị văn bản trong một đối tượng, trong một mảng, trong một đối tượng, trong một mảng, trong một đối tượng

  4. lỗi:ALTER TYPE ... ADD không thể chạy bên trong khối giao dịch

  5. Yii Framework:Không thể tìm thấy bảng cho lớp bản ghi đang hoạt động trong cơ sở dữ liệu