Postgresql Tài liệu 8.0.26 | ||||
---|---|---|---|---|
Prev | Backward nhanh | Chương 37. kèo bóng đá pháp - Ngôn ngữ thủ tục Perl | Chuyển tiếp nhanh | Tiếp theo |
Thông thường, kèo bóng đá pháp được cài đặt dưới dạng"Trusted"Ngôn ngữ lập trình có tênPlperl10944_11159Yêu cầuvàSử dụng(cho các mô -đun bên ngoài). kèo bóng đá pháp 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 kèo bóng đá pháp đặc quyền nào cũng có thể được phép sử dụng điều này ngôn ngữ.
Đây là một ví dụ về một chức năng sẽ kèo bóng đá pháp hoạt động vì Hoạt động hệ thống tệp kèo bóng đá pháp được phép vì lý do bảo mật:
Tạo hàm badfunc () return số nguyên dưới dạng $$ mở (temp, "/tmp/badfile"); In temp "gotcha! \ n"; trả lại 1; $$ ngôn ngữ plperl;
Việc tạo chức năng sẽ thành công, nhưng thực hiện nó sẽ kèo bóng đá pháp.
Đôi khi, mong muốn viết các chức năng perl kèo bóng đá pháp 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 kèo bóng đá pháp"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 kèo bóng đá pháp Biến thể PL/perl.
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 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 kèo bóng đá pháp.
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 khikèo bóng đá phápCá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 (kèo bóng đá pháp phải là bất kỳ những cái được sử dụng chokèo bóng đá phápchứ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 kèo bóng đá pháp có giao tiếp nào có thể xảy ra giữakèo bóng đá phápvàPL/Perluchức năng.
Lưu ý:Perl kèo bóng đá pháp 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ếukèo bóng đá phápđược sử dụng với một bản sao của Perl kèo bóng đá pháp đượ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ặckèo bóng đá phápCác chức năng được gọi bởi cùng một vai trò SQL.
14947_14953 | nhà | Tiếp theo |
Giá trị toàn cầu trong kèo bóng đá pháp | UP | kèo bóng đá pháp Trình kích hoạt |