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 tỷ lệ kèo bó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
Tài liệu này dành cho phiên bản tỷ lệ kèo bó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ế.

43.5. Đáng tỷ lệ kèo bóng đá#

Thông thường, tỷ lệ kèo bóng đá được cài đặt dưới dạngTrustedKhănNgôn ngữ lập trình có tênplperl. Trong thiết lập này, một số hoạt động Perl nhất định bị vô hiệu hóa để bảo mật.Yêu cầuSử dụng(cho các mô -đun bên ngoài). tỷ lệ kèo bóng đá có cách nào để truy cập vào bên trong của quy trình máy chủ cơ sở dữ liệu hoặc để có được quyền truy cập cấp hệ điều hành với các quyền của quy trình máy chủ, như một hàm C có thể làm.

cảnh báo

PL/Perl đáng tỷ lệ kèo bóng đá dựa vào PerlopcodeMô -đun để bảo vệ bảo mật. PerlTài liệurằng mô -đun không hiệu quả đối với trường hợp sử dụng PL/Perl đáng tỷ lệ kèo bóng đá. Nếu nhu cầu bảo mật của bạn không tương thích với sự không chắc chắn trong cảnh báo đó, hãy xem xét thực thiThu hồi việc sử dụng trên pilperl ngôn ngữ từ công khai.

Đây là một ví dụ về chức năng sẽ tỷ lệ kèo bóng đá hoạt động vì các hoạt động hệ thống tệp tỷ lệ kèo bóng đá được phép vì lý do bảo mật:

Tạo hàm badfunc () trả về số nguyên dưới dạng $$

Việc tạo chức năng này sẽ thất bại vì việc sử dụng hoạt động bị cấm sẽ bị bắt bởi trình xác thực.

Đôi khi, mong muốn viết các hàm perl tỷ lệ kèo bóng đá bị hạn chế. Ví dụ, người ta có thể muốn một chức năng Perl gửi thư.không tỷ lệ kèo bóng đá tưởngNgôn ngữ (thường được gọi làPL/Perlu). Trong trường hợp này, ngôn ngữ Perl đầy đủ có sẵn.PlperluSẽ chọn biến thể PL/Perl không tỷ lệ kèo bóng đá.

Người viết của APL/PerluHàm phải cẩn thận rằng chức năng không thể được sử dụng để làm bất cứ điều gì không mong muốn, vì nó sẽ có thể làm bất cứ điều gì có thể được thực hiện bởi người dùng đăng nhập với tư cách quản trị viên cơ sở dữ liệu. Lưu ý rằng hệ thống cơ sở dữ liệu chỉ cho phép các siêu người dùng cơ sở dữ liệu tạo các hàm trong các ngôn ngữ không tỷ lệ kèo bóng đá.

Nếu hàm trên được tạo bởi một siêu người dùng bằng ngôn ngữPlperlu, thực thi sẽ thành công.

Theo cách tương tự, các khối mã ẩn danh được viết bằng Perl có thể sử dụng các hoạt động bị hạn chế nếu ngôn ngữ được chỉ định làplperluthay vìplperl, nhưng người gọi phải là một siêu người dùng.

Lưu ý

trong khitỷ lệ kèo bóng đáCác chức năng chạy trong một trình thông dịch perl riêng cho mỗi vai trò SQL, tất cảPL/Perlu14537_14650tỷ lệ kèo bóng đáchức năng). Điều này cho phépPL/PerluCác chức năng chia sẻ dữ liệu một cách tự do, nhưng tỷ lệ kèo bóng đá có giao tiếp nào có thể xảy ra giữatỷ lệ kèo bóng đáPL/Perluchức năng.

Lưu ý

Perl tỷ lệ kèo bóng đá thể hỗ trợ nhiều phiên dịch viên trong một quy trình trừ khi nó được xây dựng bằng các cờ thích hợp, cụ thể làUsemultiplicityhoặcuseithreads. (Usemultiplicityđược ưa thích trừ khi bạn thực sự cần sử dụng các luồng. Để biết thêm chi tiết, xemperlembedTrang người đàn ông.) Nếutỷ lệ kèo bóng đáđược sử dụng với một bản sao của Perl tỷ lệ kèo bóng đá được xây dựng theo cách này, thì chỉ có thể có một trình thông dịch perl cho mỗi phiên, và do đó, bất kỳ một phiên nào chỉ có thể thực hiệnPL/Perluchức năng hoặctỷ lệ kèo bóng đáCác chức năng được gọi bởi cùng một vai trò SQL.