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
Tài liệu 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ế.

Tạo chính tỷ lệ kèo bóng đá

Tạo chính tỷ lệ kèo bóng đá - Xác định chính tỷ lệ kèo bóng đá bảo mật cấp hàng mới cho bảng

Synopsis

Tạo chính tỷ lệ kèo bóng đátêntrênTable_Name[như cho phép | Hạn chế]
    [Cho tất cả | Chọn | Chèn | Cập nhật | XÓA BỎ  ]
    [ ĐẾNROME_NAME| Công khai | Current_user | Session_user [, ...]]
    [Sử dụng (sử dụng_expression)]]
    [Với kiểm tra (Check_expression)]

Mô tả

TheTạo chính tỷ lệ kèo bóng đá9139_9268Bảng thay đổi ... Kích hoạt bảo mật cấp hàng) Để áp dụng các chính tỷ lệ kèo bóng đá được tạo ra.

Một chính tỷ lệ kèo bóng đá cấp cho phép chọn, chèn, cập nhật hoặc xóa các hàng phù hợp với biểu thức chính tỷ lệ kèo bóng đá có liên quan. Các hàng bảng hiện có được kiểm tra đối với biểu thức được chỉ định trongsử dụng, trong khi các hàng mới sẽ được tỷ lệ kèo bóng đá quaChènhoặcCập nhậtđược kiểm tra đối với biểu thức được chỉ định trongvới kiểm tra. Khi Asử dụng9860_10012với kiểm tra10049_10180

choChèn10256_10264câu lệnh,với kiểm traBiểu thức được thi hành sautrướcTrình kích hoạt được bắn và trước khi bất kỳ sửa đổi dữ liệu thực tế nào được thực hiện. Do đó Atrước hàngTrigger có thể sửa đổi dữ liệu sẽ được chèn, ảnh hưởng đến kết quả của kiểm tra chính tỷ lệ kèo bóng đá bảo mật.với kiểm traBiểu thức được thực thi trước mọi ràng buộc khác.

Tên chính tỷ lệ kèo bóng đá là mỗi bảng. Do đó, một tên chính tỷ lệ kèo bóng đá có thể được sử dụng cho nhiều bảng khác nhau và có định nghĩa cho mỗi bảng phù hợp với bảng đó.

Chính tỷ lệ kèo bóng đá có thể được áp dụng cho các lệnh cụ thể hoặc cho các vai trò cụ thể. Mặc định cho các chính tỷ lệ kèo bóng đá mới được tạo là chúng áp dụng cho tất cả các lệnh và vai trò, trừ khi có quy định khác. Nhiều chính tỷ lệ kèo bóng đá có thể áp dụng cho một lệnh duy nhất; Xem bên dưới để biết thêm chi tiết.Bảng 257Tóm tắt cách các loại chính tỷ lệ kèo bóng đá khác nhau áp dụng cho các lệnh cụ thể.

Đối với các chính tỷ lệ kèo bóng đá có thể có cảSử dụngvới kiểm traBiểu thức (tất cảCập nhật), nếu khôngvới kiểm traBiểu thức được xác định, sau đósử dụngBiểu thức sẽ được sử dụng cả hai để xác định các hàng nào có thể nhìn thấy (Bình thườngsử dụngtrường hợp) và các hàng mới nào sẽ được phép thêm (với kiểm tratrường hợp).

Nếu bảo mật cấp hàng được bật cho bảng, nhưng không có chính tỷ lệ kèo bóng đá áp dụng nào tồn tại, Amặc định từ chốiChính tỷ lệ kèo bóng đá được giả định, để không có hàng nào được hiển thị hoặc cập nhật.

tham số

tên

Tên của chính tỷ lệ kèo bóng đá sẽ được tạo. Điều này phải khác biệt với tên của bất kỳ chính tỷ lệ kèo bóng đá nào khác cho bảng.

Table_Name

Tên (tùy chọn Lược đồ theo trình độ) của bảng Chính tỷ lệ kèo bóng đá áp dụng cho.

cho phép

Chỉ định rằng chính tỷ lệ kèo bóng đá sẽ được tạo dưới dạng chính tỷ lệ kèo bóng đá cho phép. Tất cả các chính tỷ lệ kèo bóng đá cho phép được áp dụng cho một truy vấn nhất định sẽ được kết hợp với nhau bằng cách sử dụng booleanhoặcHồitoán tử. Bằng cách tạo các chính tỷ lệ kèo bóng đá cho phép, quản trị viên có thể thêm vào tập hợp các bản ghi có thể được truy cập. Chính tỷ lệ kèo bóng đá được cho phép theo mặc định.

Hạn chế

13344_13519Hồitoán tử. Bằng cách tạo các chính tỷ lệ kèo bóng đá hạn chế, quản trị viên có thể giảm tập hợp các bản ghi có thể được truy cập vì tất cả các chính tỷ lệ kèo bóng đá hạn chế phải được thông qua cho mỗi hồ sơ.

Lưu ý rằng cần phải có ít nhất một chính tỷ lệ kèo bóng đá cho phép cấp quyền truy cập vào hồ sơ trước khi các chính tỷ lệ kèo bóng đá hạn chế có thể được sử dụng một cách hữu ích để giảm quyền truy cập đó. Nếu chỉ tồn tại các chính tỷ lệ kèo bóng đá hạn chế, thì không có hồ sơ nào có thể truy cập được. Khi có các chính tỷ lệ kèo bóng đá cho phép và hạn chế, một bản ghi chỉ có thể truy cập được nếu ít nhất một trong các chính tỷ lệ kèo bóng đá cho phép được thông qua, ngoài tất cả các chính tỷ lệ kèo bóng đá hạn chế.

lệnh

Lệnh áp dụng chính tỷ lệ kèo bóng đá. Các tùy chọn hợp lệ làtất cả, Chọn, Chèn, Cập nhậtXóa. tất cảlà mặc định. Xem bên dưới để biết thông tin cụ thể về cách áp dụng chúng.

ROME_NAME

Vai trò mà chính tỷ lệ kèo bóng đá sẽ được áp dụng. Mặc định làcông khai, sẽ áp dụng chính tỷ lệ kèo bóng đá cho tất cả các vai trò.

sử dụng_expression

bất kỳSQLBiểu thức có điều kiện (trả vềBoolean15209_15544Chọn) và sẽ không khả dụng để sửa đổi (trong mộtCập nhậthoặcXóa). Những hàng như vậy được áp dụng âm thầm; Không có lỗi được báo cáo.

Check_expression

bất kỳSQLBiểu thức có điều kiện (trả vềBoolean). Biểu thức có điều kiện không thể chứa bất kỳ chức năng tổng hợp hoặc cửa sổ nào. Biểu thức này sẽ được sử dụng trongChènCập nhật16207_16506Check_expressionđược đánh giá dựa trên các nội dung mới được đề xuất của hàng chứ không phải nội dung gốc.

Chính tỷ lệ kèo bóng đá trên mỗi lệnh

tất cả

sử dụngtất cảĐối với một chính tỷ lệ kèo bóng đá có nghĩa là nó sẽ áp dụng cho tất cả các lệnh, bất kể loại lệnh. Nếu mộttất cảChính tỷ lệ kèo bóng đá tồn tại và các chính tỷ lệ kèo bóng đá cụ thể hơn tồn tại, sau đó cảtất cảChính tỷ lệ kèo bóng đá và chính tỷ lệ kèo bóng đá cụ thể hơn (hoặc chính tỷ lệ kèo bóng đá) sẽ được áp dụng. Ngoài ra,tất cảChính tỷ lệ kèo bóng đá sẽ được áp dụng cho cả phía lựa chọn của một truy vấn và phía sửa đổi, sử dụngSử dụngBiểu thức cho cả hai trường hợp nếu chỉ ASử dụngBiểu thức đã được xác định.

làm ví dụ, nếuCập nhậtđược ban hành, sau đó làtất cảChính tỷ lệ kèo bóng đá sẽ được áp dụng cho cả những gìCập nhậtsẽ có thể chọn làm hàng sẽ được cập nhật (áp dụngsử dụngBiểu thức) và các hàng được cập nhật kết quả, để kiểm tra xem chúng có được phép thêm vào bảng không (áp dụngvới kiểm traBiểu thức, nếu được xác định vàSử dụngBiểu thức khác). Nếu một18165_18173hoặcCập nhậtLệnh cố gắng thêm hàng vào bảng không vượt quatất cảChính tỷ lệ kèo bóng đávới kiểm traBiểu thức, toàn bộ lệnh sẽ bị hủy bỏ.

Chọn

Sử dụngChọn18612_18656ChọnTruy vấn và bất cứ khi nàoChọnQuyền được yêu cầu đối với mối quan hệ chính tỷ lệ kèo bóng đá được xác định cho. Kết quả là chỉ những bản ghi đó từ mối quan hệ vượt quaChọnChính tỷ lệ kèo bóng đá sẽ được trả lại trong thời gianChọnTruy vấn và truy vấn đó yêu cầuChọnQuyền, chẳng hạn nhưCập nhật, cũng sẽ chỉ thấy những bản ghi được cho phép bởiChọnChính tỷ lệ kèo bóng đá. MỘTChọnChính tỷ lệ kèo bóng đá không thể cóvới kiểm traBiểu thức, vì nó chỉ áp dụng trong trường hợp các bản ghi được lấy từ mối quan hệ.

Chèn

sử dụngChènĐối với một chính tỷ lệ kèo bóng đá có nghĩa là nó sẽ áp dụng choChènlệnh. Hàng được chèn không thông qua chính tỷ lệ kèo bóng đá này sẽ dẫn đến lỗi vi phạm chính tỷ lệ kèo bóng đá và toàn bộChènlệnh sẽ bị hủy bỏ. MỘTChènChính tỷ lệ kèo bóng đá không thể cósử dụngBiểu thức, vì nó chỉ áp dụng trong trường hợp các bản ghi được thêm vào quan hệ.

Lưu ý rằngChènvớitrên xung đột do cập nhậtKiểm traChènChính tỷ lệ kèo bóng đá 'với kiểm traBiểu thức chỉ cho các hàng được nối với mối quan hệ củaChènđường dẫn.

Cập nhật

Sử dụngCập nhậtĐối với một chính tỷ lệ kèo bóng đá có nghĩa là nó sẽ áp dụng choCập nhật, Chọn để cập nhậtChọn để chia sẻCác lệnh, cũng như phụ trợtrên xung đột do cập nhậtmệnh đề củaChènlệnh. TừCập nhật20922_21006Cập nhậtChính tỷ lệ kèo bóng đá chấp nhận cả ASử dụngBiểu thức và Avới kiểm traBiểu thức. Thesử dụngBiểu thức xác định bản ghi nàoCập nhậtLệnh sẽ thấy để hoạt động chống lại, trong khivới kiểm traBiểu thức xác định các hàng sửa đổi nào được phép được lưu trữ trở lại vào mối quan hệ.

Bất kỳ hàng nào có giá trị cập nhật không vượt quavới kiểm traBiểu thức sẽ gây ra lỗi và toàn bộ lệnh sẽ bị hủy bỏ. Nếu chỉ mộtsử dụngmệnh đề được chỉ định, sau đó mệnh đề đó sẽ được sử dụng cho cả haiSử dụngvới kiểm tratrường hợp.

Thông thường làCập nhậtLệnh cũng cần đọc dữ liệu từ các cột trong mối quan hệ được cập nhật (ví dụ: trong AWHEREmệnh đề hoặc ATrở vềmệnh đề hoặc trong một biểu thức ở phía bên phải củasetmệnh đề). Trong trường hợp này,ChọnQuyền cũng được yêu cầu đối với mối quan hệ được cập nhật và thích hợpChọnhoặctất cảChính tỷ lệ kèo bóng đá sẽ được áp dụng ngoàiCập nhậtChính tỷ lệ kèo bóng đá. Do đó, người dùng phải có quyền truy cập vào (các) hàng được cập nhật thông quaChọnhoặctất cảChính tỷ lệ kèo bóng đá ngoài việc được cấp phép cập nhật (các) hàng thông quaCập nhậthoặctất cảChính tỷ lệ kèo bóng đá.

Khi mộtChènLệnh có phụ trợtrên xung đột do cập nhậtmệnh đề, nếuCập nhậtĐường dẫn được thực hiện, hàng sẽ được cập nhật trước tiên được kiểm tra đối vớiSử dụngBiểu thức của bất kỳCập nhậtChính tỷ lệ kèo bóng đá, và sau đó hàng cập nhật mới được kiểm tra đối vớivới kiểm traBiểu thức. Tuy nhiên, lưu ý rằng không giống như độc lậpCập nhậtlệnh, nếu hàng hiện tại không vượt quasử dụngBiểu thức, một lỗi sẽ được ném (Cập nhậtđường dẫn sẽkhông bao giờĐược tránh âm thầm).

Xóa

Sử dụngXóaĐối với một chính tỷ lệ kèo bóng đá có nghĩa là nó sẽ áp dụng choXóalệnh. Chỉ các hàng vượt qua chính tỷ lệ kèo bóng đá này sẽ được nhìn thấy bởiXóaLệnh. Có thể có các hàng có thể nhìn thấy thông quaChọnkhông có sẵn để xóa, nếu họ không vượt quasử dụngBiểu thức choXóaChính tỷ lệ kèo bóng đá.

Trong hầu hết các trường hợp AXóaLệnh cũng cần đọc dữ liệu từ các cột trong mối quan hệ mà nó đang xóa khỏi (ví dụ: trong AWHEREmệnh đề hoặc ATrở vềmệnh đề). Trong trường hợp này,ChọnQuyền cũng được yêu cầu đối với mối quan hệ và thích hợpChọnhoặctất cả24595_24642XóaChính tỷ lệ kèo bóng đá. Do đó, người dùng phải có quyền truy cập vào (các) hàng bị xóa thông quaChọnhoặctất cảChính tỷ lệ kèo bóng đá ngoài việc được cấp phép xóa (các) hàng thông qua AXóahoặctất cảChính tỷ lệ kèo bóng đá.

AXóaChính tỷ lệ kèo bóng đá không thể cóvới kiểm traBiểu thức, vì nó chỉ áp dụng trong trường hợp các bản ghi bị xóa khỏi mối quan hệ, để không có hàng mới để kiểm tra.

Bảng 257. Chính tỷ lệ kèo bóng đá được áp dụng theo loại lệnh

lệnh Chọn/Tất cả chính tỷ lệ kèo bóng đá Chèn/tất cả chính tỷ lệ kèo bóng đá Cập nhật/Tất cả chính tỷ lệ kèo bóng đá Xóa/tất cả chính tỷ lệ kèo bóng đá
Sử dụng biểu thức Với biểu thức kiểm tra Sử dụng biểu thức Với biểu thức kiểm tra Sử dụng biểu thức
Chọn Hàng hiện tại - - - -
Chọn để cập nhật/chia sẻ hàng hiện tại - hàng hiện tại - -
Chèn - hàng mới - - -
Chèn ... Trả về hàng mới[A] hàng mới - - -
Cập nhật hàng hiện tại & mới[A] - hàng hiện tại hàng mới -
Xóa 28236_28251[A] - - - hàng hiện tại
trên xung đột do cập nhật hàng hiện tại & mới - hàng hiện tại hàng mới -

[A]Nếu cần đọc quyền truy cập được yêu cầu vào hàng hiện tại hoặc hàng mới (ví dụ: AWHEREhoặcTrở vềmệnh đề đề cập đến các cột từ mối quan hệ).


Ứng dụng nhiều chính tỷ lệ kèo bóng đá

Khi nhiều chính tỷ lệ kèo bóng đá của các loại lệnh khác nhau áp dụng cho cùng một lệnh (ví dụ:ChọnCập nhậtChính tỷ lệ kèo bóng đá được áp dụng cho mộtCập nhật29767_30044toán tử.

Khi nhiều chính tỷ lệ kèo bóng đá của cùng loại lệnh áp dụng cho cùng một lệnh, thì phải có ít nhất mộtcho phépChính tỷ lệ kèo bóng đá cấp quyền truy cập vào mối quan hệ và tất cả cácHạn chếChính tỷ lệ kèo bóng đá phải thông qua. Vì vậy, tất cả30396_30408Biểu thức chính tỷ lệ kèo bóng đá được kết hợp bằng cách sử dụnghoặc, tất cảHạn chếBiểu thức chính tỷ lệ kèo bóng đá được kết hợp bằng cách sử dụngvà kết quả được kết hợp bằng cách sử dụng. Nếu không cócho phépChính tỷ lệ kèo bóng đá, sau đó truy cập bị từ chối.

Lưu ý rằng, với mục đích kết hợp nhiều chính tỷ lệ kèo bóng đá,tất cảChính tỷ lệ kèo bóng đá được coi là có cùng loại như bất kỳ loại chính tỷ lệ kèo bóng đá nào khác được áp dụng.

Ví dụ, trong mộtCập nhậtLệnh yêu cầu cảChọnCập nhậtQuyền, nếu có nhiều chính tỷ lệ kèo bóng đá áp dụng của từng loại, chúng sẽ được kết hợp như sau:

Biểu thứcTừ hạn chế chọn/tất cả chính tỷ lệ kèo bóng đá 1
VÀBiểu thứcTừ hạn chế chọn/tất cả chính tỷ lệ kèo bóng đá 2
VÀ
...
VÀ
(Biểu thứcTừ chọn cho phép/tất cả chính tỷ lệ kèo bóng đá 1
  HOẶCBiểu thứcTừ lựa chọn cho phép/tất cả chính tỷ lệ kèo bóng đá 2
  HOẶC
  ...
)
VÀBiểu thứcTừ bản cập nhật hạn chế/Tất cả chính tỷ lệ kèo bóng đá 1
VÀBiểu thứcTừ bản cập nhật hạn chế/Tất cả chính tỷ lệ kèo bóng đá 2
VÀ
...
VÀ
(Biểu thứcTừ bản cập nhật cho phép/Tất cả chính tỷ lệ kèo bóng đá 1
  HOẶCBiểu thứcTừ bản cập nhật cho phép/Tất cả chính tỷ lệ kèo bóng đá 2
  HOẶC
  ...
)

Ghi chú

Bạn phải là chủ sở hữu của bảng để tạo hoặc thay đổi chính tỷ lệ kèo bóng đá cho nó.

32254_33424

Nói chung, hệ thống sẽ thực thi các điều kiện bộ lọc được áp dụng bằng các chính tỷ lệ kèo bóng đá bảo mật trước khi trình độ xuất hiện trong các truy vấn của người dùng, để ngăn chặn sự tiếp xúc vô tình của dữ liệu được bảo vệ với các chức năng do người dùng xác định có thể không đáng tin cậy. Tuy nhiên, các chức năng và toán tử được đánh dấu bởi hệ thống (hoặc quản trị viên hệ thống) làLeakproofCó thể được đánh giá trước các biểu thức chính tỷ lệ kèo bóng đá, vì chúng được coi là đáng tin cậy.

33913_34537

Thảo luận bổ sung và các ví dụ thực tế có thể được tìm thấy trongPhần 5.8.

Tương thích

Tạo chính tỷ lệ kèo bóng đálà mộtPostgreSQLPhần mở rộng.