Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài kèo bóng đá hôm nay và ngày mai này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

13.4. Kiểm tra tính nhất quán dữ kèo bóng đá hôm nay và ngày mai tại Cấp độ ứng dụng

Vì người đọc trongPostgreSQLKhông khóa dữ kèo bóng đá hôm nay và ngày mai, bất kể mức độ cô lập giao dịch, dữ kèo bóng đá hôm nay và ngày mai Đọc bởi một giao dịch có thể bị ghi đè bởi một giao dịch khác giao dịch. Nói cách khác, nếu một hàng được trả lại bởiChọnĐiều đó không có nghĩa là hàng vẫn còn hiện tại ngay lập tức nó được trả lại (tức là, sau khi Truy vấn hiện tại bắt đầu). Hàng có thể đã được sửa đổi hoặc bị xóa bởi một giao dịch đã được cam kết đã cam kết sauChọnBắt đầu. Ngay cả khi hàng vẫn còn có hiệu lực"Bây giờ", nó có thể được thay đổi hoặc đã xóa trước khi giao dịch hiện tại thực hiện hoặc rollback.

Một cách khác để suy nghĩ về nó là mỗi giao dịch nhìn thấy một Ảnh chụp nhanh nội dung cơ sở dữ kèo bóng đá hôm nay và ngày mai và thực thi đồng thời Giao dịch rất có thể thấy các ảnh chụp nhanh khác nhau. Vì vậy, Toàn bộ khái niệm về"Bây giờ"có phần Dù sao cũng không xác định. Đây thường không phải là một vấn đề lớn nếu Các ứng dụng khách được phân lập với nhau, nhưng nếu khách hàng có thể giao tiếp qua các kênh bên ngoài cơ sở dữ kèo bóng đá hôm nay và ngày mai sau đó sự nhầm lẫn nghiêm trọng có thể xảy ra.

Để đảm bảo tính hợp lệ hiện tại của một hàng và bảo vệ nó chống lại Cập nhật đồng thời người ta phải sử kèo bóng đá hôm nay và ngày maiChọn cho CẬP NHẬT, Chọn chia sẻhoặc một phù hợpBảng khóaTuyên bố. (Chọn để cập nhậtChọn để chia sẻKhóa chỉ các hàng được trả về chống lại các bản cập nhật đồng thời, trong khiKhóa BÀNKhóa toàn bộ bảng.) Điều này nên được đưa vào Tài khoản khi chuyển các ứng kèo bóng đá hôm nay và ngày mai thànhPostgreSQLTừ các môi trường khác.

Kiểm tra kèo bóng đá hôm nay và ngày mai hợp lệ toàn cầu đòi hỏi phải suy nghĩ thêm theoMVCC. Ví dụ: một ngân hàng ứng kèo bóng đá hôm nay và ngày mai có thể muốn kiểm tra xem tổng của tất cả các khoản tín kèo bóng đá hôm nay và ngày mai trong Một bảng bằng tổng số các khoản nợ trong một bảng khác, khi cả hai Các bảng đang được cập nhật tích cực. So sánh kết quả của hai liên tiếpChọn Sum (...)Các lệnh sẽ không hoạt động đáng tin cậy trong chế độ đọc cam kết, vì truy vấn thứ hai có thể sẽ bao gồm kết quả của các giao dịch không được tính bởi đầu tiên. Thực hiện hai khoản tiền trong một serializable có thể giao dịch sẽ đưa ra một bức tranh chính xác chỉ các tác động của các giao dịch đã cam kết trước giao dịch có thể nối tiếp bắt đầu - nhưng người ta có thể tự hỏi một cách hợp pháp kèo bóng đá hôm nay và ngày mai câu trả lời có phải là Vẫn có liên quan vào thời điểm nó được giao. Nếu serializable Bản thân giao dịch đã áp dụng một số thay đổi trước khi cố gắng thực hiện Kiểm tra tính nhất quán, tính hữu ích của séc trở nên nhiều hơn nữa có thể tranh cãi, vì bây giờ nó bao gồm một số nhưng không phải tất cả Thay đổi sau khi chuyển tiếp. Trong những trường hợp như vậy là một người cẩn thận có thể muốn khóa tất cả các bảng cần thiết để kiểm tra, để Nhận một bức tranh không thể chối cãi của thực tế hiện tại. MỘTchia sẻkhóa chế độ (hoặc cao hơn) đảm bảo rằng ở đó không phải là những thay đổi không được cam kết trong bảng bị khóa, ngoài những thay đổi của giao dịch hiện tại.

Lưu ý rằng nếu một người đang dựa vào khóa rõ ràng để Ngăn chặn những thay đổi đồng thời, người ta nên sử dụng Read đã cam kết Chế độ hoặc trong chế độ có thể nối tiếp, hãy cẩn thận để có được ổ khóa trước thực hiện truy vấn. Một khóa thu được từ một giao dịch có thể nối tiếp đảm bảo rằng không có giao dịch nào khác sửa đổi bảng vẫn đang chạy, nhưng nếu ảnh chụp nhanh được nhìn thấy bởi giao dịch những trước có được khóa, nó có thể có trước một số đã cam kết thay đổi trong bảng. Ảnh chụp nhanh của giao dịch có thể nối tiếp là thực sự đóng băng khi bắt đầu truy vấn đầu tiên của nó hoặc Lệnh sửa đổi dữ kèo bóng đá hôm nay và ngày mai (Chọn, Chèn, Cập nhật,, hoặcXóa), vì vậy có thể có được Khóa một cách rõ ràng trước khi ảnh chụp nhanh bị đóng băng.