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 đá tối nay đượ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 đá tối nay đượ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ế.

40.5. Đáng tỷ lệ kèo bóng đá tối nay tưởng Pl/perl

Thông thường, tỷ lệ kèo bóng đá tối nay được cài đặt dưới dạng"Trusted"Ngô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 là vô hiệu hóa để bảo vệ bảo mật. Nói chung, các hoạt động được hạn chế là những người tương tác với môi trường. Cái này Bao gồm các hoạt động xử lý tệp,Yêu cầuSử dụng(cho các mô -đun bên ngoài). tỷ lệ kèo bóng đá tối nay 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 Quyền của quy trình máy chủ, như một hàm C có thể làm. Như vậy, Bất kỳ người dùng cơ sở dữ liệu tỷ lệ kèo bóng đá tối nay quan trọng nào cũng có thể được phép sử dụng ngôn ngữ.

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

Tạo hàm badfunc () trả về số nguyên dưới dạng $$
    $ tmpfile của tôi = "/tmp/badfile";
    Mở $ fh của tôi, '', $ tmpfile
        hoặc elog (lỗi, qq tỷ lệ kèo bóng đá tối nay thể mở tệp "$ tmpfile": $!);
    In $ fh "Kiểm tra viết vào một tệp \ n";
    đóng $ fh hoặc elog (lỗi, qq tỷ lệ kèo bóng đá tối nay thể đóng tệp "$ tmpfile": $!);
    trả lại 1;
$$ ngôn ngữ plperl;

Việc tạo chức năng này sẽ thất bại khi sử dụng một 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 chức năng perl tỷ lệ kèo bóng đá tối nay hạn chế. Ví dụ: người ta có thể muốn một hàm perl Gửi thư. Để xử lý những trường hợp này, PL/Perl cũng có thể được cài đặt như một"Không tỷ lệ kèo bóng đá tối nay"Ngôn ngữ (thường là gọi điệnPL/Perlu). Trong trường hợp này toàn bộ Perl Ngôn ngữ có sẵn. NếucreatelangChương trình được sử dụng để cài đặt ngôn ngữ, tên ngôn ngữPlperluSẽ chọn cái không đáng tỷ lệ kèo bóng đá tối nay Biến thể PL/perl.

Người viết của APL/Perluchức năng phải cẩn thận rằng chức năng không thể được sử dụng 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 là 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 đáng tỷ lệ kèo bóng đá tối nay.

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

Lưu ý:trong khitỷ lệ kèo bóng đá tối nayCác chức năng chạy trong một Perl riêng biệt thông dịch cho từng vai trò SQL, tất cảPL/PerluCác chức năng được thực thi trong một phiên chạy trong một trình thông dịch PERL duy nhất (tỷ lệ kèo bóng đá tối nay phải là bất kỳ những cái được sử dụng chotỷ lệ kèo bóng đá tối naychức năng). Điều này cho phépPL/Perluchức năng chia sẻ dữ liệu một cách tự do, Nhưng tỷ lệ kèo bóng đá tối nay có giao tiếp nào có thể xảy ra giữatỷ lệ kèo bóng đá tối nayPL/Perluchức năng.

Lưu ý:Perl tỷ lệ kèo bóng đá tối nay 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 với cờ, cụ thể làUsemultiplicityhoặcuseithreads. (Usemultiplicityđược ưu tiên trừ khi bạn thực sự cần sử dụng chủ đề. Để biết thêm chi tiết, xemperlembedNgười đàn ông trang.) nếutỷ lệ kèo bóng đá tối nayđược sử dụng với một bản sao của Perl tỷ lệ kèo bóng đá tối nay được xây dựng theo cách này, thì đó là chỉ có thể có một thông dịch viên perl mỗi phiên và Vì vậy, bất kỳ một phiên nào chỉ có thể thực thiPL/Perluchức năng hoặctỷ lệ kèo bóng đá tối nayCác chức năng được gọi bởi cùng một vai trò SQL.