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

Cách ly giao dịch PostgreSQL ĐỌC KHÔNG ĐƯỢC ĐỀ NGHỊ

PostgreSQL không hỗ trợ đọc bẩn (READ UNCOMMITTED ). Như @a_horse_with_no_name đã chỉ ra, hướng dẫn sử dụng nói:

Điều này phù hợp với quy tắc trong tiêu chuẩn rằng cơ sở dữ liệu phải coi các mức cách ly không được hỗ trợ là mức được hỗ trợ mạnh nhất.

Không có cách nào được hỗ trợ để đọc các bộ giá trị chưa được cam kết từ một giao dịch đang diễn ra trong PostgreSQL. Nếu có, bạn sẽ có thể nhận được những thứ như giá trị trùng lặp cho các khóa chính và sự hỗn loạn chung, vì vậy dù sao thì nó cũng không hữu ích lắm.

một số cách mà các giao dịch đang thực hiện có thể giao tiếp và ảnh hưởng lẫn nhau:

  • Thông qua ứng dụng khách được chia sẻ (tất nhiên)
  • SEQUENCE (và SERIAL ) cập nhật xảy ra ngay lập tức, không phải tại thời điểm cam kết
  • khóa tư vấn
  • Khóa hàng và bảng bình thường, nhưng trong các quy tắc của READ COMMITTED khả năng hiển thị
  • UNIQUEEXCLUSION ràng buộc

Có thể xem bộ dữ liệu chưa được cam kết bằng cách sử dụng các phương tiện gỡ lỗi chỉ dành cho siêu người dùng như pageinspect , nhưng chỉ khi bạn thực sự hiểu các phần bên trong của kho dữ liệu. Nó chỉ thích hợp để khôi phục và gỡ lỗi dữ liệu. Bạn sẽ thấy nhiều phiên bản dữ liệu trong một bức tường đầu ra hệ thập lục phân.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cập nhật dữ liệu xml bằng truy vấn sql trên postgresql

  2. postgres hstore tồn tại và không tồn tại đồng thời

  3. Hàm postgresql không trả về một bảng được chọn

  4. Đặt hàng có điều kiện bởi

  5. Công cụ GUI cho PostgreSQL