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 soi kèo bóng đá truoctran được hỗ trợ:12 / 11 / 10 / 9.6
Tài liệu này dành cho phiên bản soi kèo bóng đá truoctran đượ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ế.

15.4. An toàn soi kèo bóng đá truoctran#

Người lập kế hoạch phân loại các hoạt động liên quan đến truy vấn làAn toàn soi kèo bóng đá truoctran, Hạn chế soi kèo bóng đá truoctranhoặcsoi kèo bóng đá truoctran không an toàn. Một hoạt động an toàn soi kèo bóng đá truoctran là một hoạt động không xung đột với việc sử dụng truy vấn soi kèo bóng đá truoctran.Tập hợphoặcThu thập MergeNode, nhưng có thể xảy ra ở nơi khác trong một kế hoạch chứa một nút như vậy. Một hoạt động không an toàn soi kèo bóng đá truoctran là một hoạt động không thể được thực hiện trong khi truy vấn soi kèo bóng đá truoctran được sử dụng, thậm chí không có trong người lãnh đạo.

Các hoạt động sau luôn bị hạn chế soi kèo bóng đá truoctran:

  • quét các biểu thức bảng phổ biến (CTE).

  • quét các bảng tạm thời.

  • Quét các bảng nước ngoài, trừ khi trình bao bọc dữ liệu nước ngoài cóisforignscanparallelsafeAPI cho biết khác.

  • Kế hoạch các nút tham chiếu một tương quanSubplan.

15.4.1. Ghi nhãn soi kèo bóng đá truoctran cho các hàm và tổng hợp#

Người lập kế hoạch không thể tự động xác định xem chức năng hoặc tổng hợp do người dùng định nghĩa là an toàn soi kèo bóng đá truoctran, hạn chế soi kèo bóng đá truoctran hoặc soi kèo bóng đá truoctran không an toàn, bởi vì điều này sẽ yêu cầu dự đoán mọi hoạt động mà chức năng có thể thực hiện. Nói chung, điều này tương đương với vấn đề tạm dừng và do đó không thể.Tạo chức nănghoặcChức năng thay đổi, Các dấu hiệu có thể được đặt bằng cách chỉ địnhAn toàn soi kèo bóng đá truoctran, Hạn chế soi kèo bóng đá truoctranhoặcsoi kèo bóng đá truoctran không an toànkhi thích hợp. Khi sử dụngTạo tổng hợp, Thesoi kèo bóng đá truoctranTùy chọn có thể được chỉ định vớian soi kèo bóng đá truoctran, bị hạn chếhoặckhông an soi kèo bóng đá truoctranlà giá trị tương ứng.

Các chức năng và tập hợp phải được đánh dấusoi kèo bóng đá truoctran không an toànNếu họ ghi vào cơ sở dữ liệu, hãy thay đổi trạng thái giao dịch (trừ bằng cách sử dụng phép trừ để khôi phục lỗi), truy cập trình tự hoặc thực hiện các thay đổi liên tục đối với cài đặt. Tương tự, các chức năng phải được đánh dấuHạn chế soi kèo bóng đá truoctranNếu họ truy cập các bảng tạm thời, trạng thái kết nối máy khách, con trỏ, câu lệnh được chuẩn bị hoặc trạng thái phụ trợ linh tinh mà hệ thống soi kèo bóng đá truoctran thể đồng bộ hóa giữa các công nhân. Ví dụ,SetSeedngẫu nhiênbị hạn chế soi kèo bóng đá truoctran vì lý do cuối cùng này.

Nói chung, nếu một hàm được dán nhãn là an toàn khi bị hạn chế hoặc không an toàn hoặc nếu nó bị dán nhãn là bị hạn chế khi thực tế không an toàn, nó có thể ném lỗi hoặc tạo ra câu trả lời sai khi được sử dụng trong truy vấn soi kèo bóng đá truoctran. Về mặt lý thuyết, các chức năng ngôn ngữ C thể hiện hành vi hoàn toàn không xác định nếu bị dán nhãn sai, vì không có cách nào để hệ thống tự bảo vệ mình trước mã C tùy ý, nhưng trong nhiều trường hợp rất có thể, kết quả sẽ không tệ hơn bất kỳ chức năng nào khác.không an soi kèo bóng đá truoctran.

Nếu một hàm được thực thi trong một công nhân soi kèo bóng đá truoctran có được các khóa không được giữ bởi người lãnh đạo, ví dụ bằng cách truy vấn một bảng không được tham chiếu trong truy vấn, các khóa đó sẽ được phát hành khi thoát công nhân, không kết thúc giao dịch. Nếu bạn viết một hàm thực hiện điều này và sự khác biệt hành vi này rất quan trọng đối với bạn, hãy đánh dấu các chức năng nhưHạn chế soi kèo bóng đá truoctranĐể đảm bảo rằng họ chỉ thực hiện trong người lãnh đạo.

Lưu ý rằng trình lập kế hoạch truy vấn không xem xét việc trì hoãn việc đánh giá các chức năng hoặc tập hợp bị hạn chế soi kèo bóng đá truoctran liên quan đến truy vấn để có được kế hoạch vượt trội. Vì vậy, ví dụ, nếu mộtWHEREmệnh đề được áp dụng cho một bảng cụ thể bị hạn chế soi kèo bóng đá truoctran, trình lập kế hoạch truy vấn sẽ không xem xét thực hiện quét bảng đó trong phần soi kèo bóng đá truoctran của kế hoạch. Trong một số trường hợp, có thể (và thậm chí có thể hiệu quả) để đưa vào việc quét bảng đó vào phần soi kèo bóng đá truoctran của truy vấn và trì hoãn việc đánh giáWHEREmệnh đề để nó xảy ra trênTập hợpNút. Tuy nhiên, người lập kế hoạch soi kèo bóng đá truoctran làm điều này.