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

59.5. Hàng cách đọc kèo bóng đá trong các gói dữ liệu nước ngoài#

Nếu cơ chế lưu trữ cơ bản của FDW có một khái niệm cách đọc kèo bóng đá các hàng riêng lẻ để ngăn chặn các bản cập nhật đồng thời của các hàng đó, thì thường có giá trị đối với FDW để thực hiện cách đọc kèo bóng đá cấp hàng với gần đúng như thực tế với ngữ nghĩa được sử dụng trong thông thườngPostgreSQLBảng. Có nhiều cân nhắc liên quan đến điều này.

Một quyết định quan trọng được đưa ra là có nên thực hiệncách đọc kèo bóng đá sớmhoặccách đọc kèo bóng đá muộn. Trong cách đọc kèo bóng đá sớm, một hàng bị cách đọc kèo bóng đá khi lần đầu tiên được lấy từ cửa hàng bên dưới, trong khi cách đọc kèo bóng đá muộn, hàng chỉ bị cách đọc kèo bóng đá khi biết rằng nó cần phải bị cách đọc kèo bóng đá. . Ngoài ra, cách đọc kèo bóng đá trễ chỉ có thể nếu hàng bị cách đọc kèo bóng đá có thể được xác định lại duy nhất sau này. Tốt nhất là định danh hàng nên xác định một phiên bản cụ thể của hàng, làPostgreSQLtids do.

Theo mặc định,PostgreSQLBỏ qua các cân nhắc cách đọc kèo bóng đá khi giao tiếp với FDW, nhưng FDW có thể thực hiện cách đọc kèo bóng đá sớm mà không có bất kỳ hỗ trợ rõ ràng nào từ mã lõi. Các chức năng API được mô tả trongPhần 59.2.6, được thêm vàoPostgreSQL9.5, cho phép FDW sử dụng cách đọc kèo bóng đá trễ nếu muốn.

Một cân nhắc bổ sung là cách đọc kèo bóng đáĐọc cam kếtChế độ cách ly,PostgreSQLcó thể cần kiểm tra lại hạn chế và tham gia cách đọc kèo bóng đá điều kiện so với phiên bản cập nhật của một số Tarple. Kiểm tra lại cách đọc kèo bóng đá điều kiện tham gia yêu cầu cách đọc kèo bóng đá bản sao lại của cách đọc kèo bóng đá hàng không phải mục tiêu trước đây đã được tham gia vào TUPLE mục tiêu. Khi làm việc với tiêu chuẩnPostgreSQL10716_11433

cho mộtCập nhậthoặcXóaTrên bàn nước ngoài, khuyến nghị rằngForeignScanHoạt động trên bảng đích thực hiện cách đọc kèo bóng đá sớm trên các hàng mà nó lấy, có lẽ thông qua tương đươngChọn để cập nhật. FDW có thể phát hiện xem bảng có phải làCập nhật/Xóamục tiêu tại thời điểm lập kế hoạch bằng cách so sánh relid của nó với11950_11985hoặc tại thời điểm thực hiện bằng cách sử dụngExecrelationistArgetRelation (). Một khả năng thay thế là thực hiện cách đọc kèo bóng đá trễ trongExecforeIgnupDatehoặcExecforeIgnDeleteGọi lại, nhưng không có hỗ trợ đặc biệt nào được cung cấp cho điều này.

Đối với các bảng nước ngoài được chỉ định là bị cách đọc kèo bóng đá bởi AChọn để cập nhật/chia sẻlệnh, TheForeignScan12474_12561Chọn để cập nhật/chia sẻ. Để thực hiện cách đọc kèo bóng đá trễ thay thế, hãy cung cấp các chức năng gọi lại được xác định trongPhần 59.2.6. cách đọc kèo bóng đágetforeignrowmarktype, chọn Tùy chọn RowmarkRow_Mark_Exclusive, 12980_13005, Row_Mark_SharehoặcRow_Mark_KeyShareTùy thuộc vào cường độ cách đọc kèo bóng đá được yêu cầu. .get_plan_rowmarkTại kế hoạch, hoặcExecfindrowmarkTại thời điểm thực hiện; bạn phải kiểm tra không chỉ có một cấu trúc hàng không null được trả về hay không, mà là của nóSức mạnhTrường không phảiLCS_NONE.

Cuối cùng, đối với cách đọc kèo bóng đá bảng nước ngoài được sử dụng trong mộtCập nhật, XóahoặcChọn để cập nhật/chia sẻLệnh nhưng không được chỉ định là cách đọc kèo bóng đá hàng, bạn có thể ghi đè lựa chọn mặc định để sao chép toàn bộ hàng bằng cách cógetforeignrowmarktypeChọn tùy chọnRow_Mark_ReferenceKhi nhìn thấy sức mạnh cách đọc kèo bóng đáLCS_NONE. Điều này sẽ gây raRefetchForeIgnrowđược gọi với giá trị đó chomarktype; Sau đó, nó sẽ tìm nạp lại hàng mà không cần có bất kỳ cách đọc kèo bóng đá mới. (Nếu bạn cógetforeignrowmarktypeHàm nhưng không muốn tìm nạp lại các hàng đã mở cách đọc kèo bóng đá, chọn Tùy chọnRow_Mark_CopychoLCS_NONE.)

xemsrc/bao gồm/nút/lockoptions.h, Nhận xét choRowMarkTypeplanrowmarkinsrc/bao gồm/nút/plannodes.hvà cách đọc kèo bóng đá nhận xét choExecRowMarkin14878_14909Để biết thêm thông tin.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì cách đọc kèo bóng đá tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.