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 đá hom nay 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ế.

12.4. Kiểm tra tính nhất quán dữ kèo bóng đá hom nay tại Cấp độ ứng dụng

Vì người đọc trongPostgreSQLKhông khóa dữ kèo bóng đá hom nay, bất kể mức độ cô lập giao dịch, dữ kèo bóng đá hom nay Đọ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 đã cam kết đã cam kết sau giao dịch này bắt đầu. Ngay cả khi hàng vẫn hợp lệ"Bây giờ", nó có thể được thay đổi hoặc xóa trước Giao dịch hiện tại thực hiện một cam kết 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 đá hom nay 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 nghi ngờ Dẫu sao thì. Đây thường không phải là một vấn đề lớn nếu khách hàng các ứng dụng bị cô 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 đá hom nay sau đó nghiêm túc sự nhầm lẫn 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 đá hom nayChọn cho CẬP NHẬThoặc thích hợpBảng khóaTuyên bố. (Chọn để cập nhậtKhóa chỉ các hàng được trả về so với các bản cập nhật đồng thời, trong khiBảng khóaKhóa toàn bộ bảng.) Điều này nên được được tính đến khi chuyển các ứng kèo bóng đá hom nay sangPostgreSQLTừ các môi trường khác. (Trước Phiên bản 6.5PostgreSQLĐã sử kèo bóng đá hom nay đọc khóa, và vì vậy sự cân nhắc trên này cũng có liên quan khi Nâng cấp từPostgreSQLPhiên bản trước 6.5.)

Kiểm tra kèo bóng đá hom nay 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 đá hom nay 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 đá hom nay 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 (...)lệnh sẽ không hoạt động một cách đáng tin cậy theo chế độ đã cam kết đọc, vì thứ hai Truy vấn 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 về các hiệu ứ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 đá hom nay câu trả lời có vẫn có liên quan vào thời điểm nó được giao. Nếu giao dịch có thể serializable đã áp dụng một số thay đổi trước Cố gắng thực hiện kiểm tra tính nhất quán, tính hữu dụng của séc càng trở nên tranh cãi hơn, vì bây giờ nó bao gồm một số nhưng không Tất cả các thay đổi bắt đầu sau chuyển đổi. Trong những trường hợp như vậy một cách cẩn thận người có thể muốn khóa tất cả các bảng cần thiết để kiểm tra, trong đặt hàng để có được một bức tranh không thể chối cãi về thực tế hiện tại. MỘTchia sẻChế độ (hoặc cao hơn) Đảm bảo khóa rằng không có những thay đổi không được cam kết trong bảng bị khóa, khác hơn các giao dịch hiện tại.

Lưu ý rằng nếu một người đang dựa vào các khóa rõ ràng để ngăn chặn Thay đổi đồng thời, người ta nên sử dụng chế độ đã đọc, hoặc trong Chế độ có thể nối tiếp, hãy cẩn thận để có được (các) khóa trước thực hiện truy vấn. Một khóa rõ ràng thu được trong một serializable giao dịch đả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 trước khi có được khóa, nó có thể có trước một số Những thay đổi hiện có cam kết trong bảng. Một giao dịch có thể nối tiếp ảnh chụp nhanh thực sự bị đóng băng khi bắt đầu truy vấn đầu tiên hoặc Lệnh sửa đổi dữ kèo bóng đá hom nay (Chọn, Chèn, Cập nhật,, hoặcXóa), vì vậy có thể có được Khóa rõ ràng trước khi ảnh chụp nhanh bị đóng băng.