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 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
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ế.

kèo bóng đá c1Tạo NGÔN NGỮ

tên

Tạo kèo bóng đá c1 ngữ-Xác định thủ tục mới kèo bóng đá c1 ngữ

Synopsis

Tạo [thủ tục] kèo bóng đá c1 ngữtênTạo [đáng tin cậy] [Thủ tục] kèo bóng đá c1 ngữtênHandlercall_handler[ValidatorValfunction]

Mô tả

sử dụngTạo kèo bóng đá c1 ngữ, APostgreSQLNgười dùng có thể đăng ký mới kèo bóng đá c1 ngữ thủ tục vớiPostgreSQLCơ sở dữ liệu. Sau đó, chức năng và các thủ tục kích hoạt có thể được xác định trong kèo bóng đá c1 ngữ mới này.

Tạo kèo bóng đá c1 ngữHiệu quả liên kết tên kèo bóng đá c1 ngữ với trình xử lý cuộc gọi là Chịu trách nhiệm thực hiện các chức năng được viết bằng kèo bóng đá c1 ngữ. Tham khảoChương 37Để biết thêm thông tin về trình xử lý cuộc gọi kèo bóng đá c1 ngữ.

Có hai dạng củaTạo NGÔN NGỮlệnh. Ở dạng đầu tiên, người dùng chỉ cung cấp tên của kèo bóng đá c1 ngữ mong muốn vàPostgreSQLMáy chủ tham khảopg_pltemplateDanh mục hệ thống để xác định các tham số chính xác. Ở dạng thứ hai, người dùng cung cấp tham số kèo bóng đá c1 ngữ cùng với tên kèo bóng đá c1 ngữ. Hình thức thứ hai có thể được sử dụng để tạo một kèo bóng đá c1 ngữ không được xác định trongpg_pltemplate, nhưng cách tiếp cận này là được coi là lỗi thời.

Khi máy chủ tìm thấy một mục nhập trongpg_pltemplateDanh mục cho kèo bóng đá c1 ngữ đã cho Tên, nó sẽ sử dụng dữ liệu danh mục ngay cả khi lệnh bao gồm tham số kèo bóng đá c1 ngữ. Hành vi này đơn giản hóa việc tải rác cũ các tệp, có khả năng chứa thông tin lỗi thời về Các chức năng hỗ trợ kèo bóng đá c1 ngữ.

Thông thường, người dùng phải cóPostgreSQLĐặc quyền Superuser để đăng ký A kèo bóng đá c1 ngữ mới. Tuy nhiên, chủ sở hữu của cơ sở dữ liệu có thể đăng ký một kèo bóng đá c1 ngữ trong cơ sở dữ liệu đó nếu kèo bóng đá c1 ngữ được liệt kê trongpg_pltemplateDanh mục và được đánh dấu như được cho phép được tạo bởi chủ sở hữu cơ sở dữ liệu (TMPLDBacreatelà đúng). Mặc định là kèo bóng đá c1 ngữ đáng tin cậy có thể được tạo bởi các chủ sở hữu cơ sở dữ liệu, nhưng điều này có thể được điều chỉnh bởi các siêu người dùng bằng cách sửa đổi nội dung củapg_pltemplate. Người tạo ra kèo bóng đá c1 ngữ trở thành chủ sở hữu của nó và sau đó có thể bỏ nó, đổi tên nó hoặc gán nó cho chủ sở hữu mới.

tham số

Trusted

TrustedChỉ định rằng cuộc gọi người xử lý kèo bóng đá c1 ngữ là an toàn, nghĩa là nó không Cung cấp một người dùng không có đặc quyền bất kỳ chức năng nào để bỏ qua Hạn chế truy cập. Nếu từ khóa này bị bỏ qua khi đăng ký kèo bóng đá c1 ngữ, chỉ người dùng cóPostgreSQLĐặc quyền Superuser có thể sử dụng kèo bóng đá c1 ngữ này để tạo các chức năng mới.

Thủ tục

Đây là một từ tiếng ồn.

tên

Tên của kèo bóng đá c1 ngữ thủ tục mới. kèo bóng đá c1 ngữ Tên là trường hợp không nhạy cảm. Tên phải là duy nhất trong số các kèo bóng đá c1 ngữ trong cơ sở dữ liệu.

Để tương thích ngược, tên có thể được đặt trong Trích dẫn đơn.

Handler call_handler

call_handlerlà tên của một chức năng đã đăng ký trước đó sẽ được gọi đến Thực hiện các chức năng kèo bóng đá c1 ngữ thủ tục. Người xử lý cuộc gọi Đối với một kèo bóng đá c1 ngữ thủ tục phải được viết trong một kèo bóng đá c1 ngữ như C với quy ước gọi phiên bản 1 và Đã đăng ký vớiPostgreSQLLà một hàm không có đối số và trả lạikèo bóng đá c1_handlerLoại, một trình giữ chỗ loại chỉ đơn giản được sử dụng để xác định hàm là cuộc gọi người xử lý.

Trình xác nhận Valfunction

Valfunctionlà tên của một chức năng đã đăng ký trước đó sẽ được gọi Khi một hàm mới trong kèo bóng đá c1 ngữ được tạo, để xác nhận chức năng mới. Nếu không có chức năng xác thực được chỉ định, Sau đó, một chức năng mới sẽ không được kiểm tra khi nó được tạo. Hàm xác thực phải lấy một đối số của loạioid, sẽ là oid của Chức năng được tạo và thường sẽ trả vềvoid.

Một hàm xác thực thường kiểm tra chức năng cơ thể cho sự đúng đắn của cú pháp, nhưng nó cũng có thể Nhìn vào các thuộc tính khác của hàm, ví dụ nếu kèo bóng đá c1 ngữ không thể xử lý các loại đối số nhất định. ĐẾN báo hiệu một lỗi, hàm xác thực sẽ sử dụngEREPORT ()Hàm. Các Giá trị trả về của hàm bị bỏ qua.

TheTrustedTùy chọn và hỗ trợ (các) tên chức năng bị bỏ qua nếu máy chủ có mục nhập cho Tên kèo bóng đá c1 ngữ được chỉ định trongpg_pltemplate.

ghi chú

ThePostgreSQL:Chương trình là một trình bao bọc đơn giản Xung quanhTạo kèo bóng đá c1 ngữlệnh. Nó Giảm bớt việc cài đặt các kèo bóng đá c1 ngữ thủ tục khỏi lệnh shell đường kẻ.

sử dụngcách đọc kèo bónghoặc tốt hơn làDroplangChương trình, để bỏ các kèo bóng đá c1 ngữ thủ tục.

Danh mục hệ thốngPG_L Language(xemPhần 44.21) Hồ sơ thông tin về các kèo bóng đá c1 ngữ hiện được cài đặt. Cũng,createlangCó tùy chọn để liệt kê các kèo bóng đá c1 ngữ đã cài đặt.

Để tạo các hàm trong kèo bóng đá c1 ngữ thủ tục, người dùng phải có Thesử dụngĐặc quyền cho kèo bóng đá c1 ngữ. Qua mặc định,sử dụngđược cấp chocông khai(tức là mọi người) cho các kèo bóng đá c1 ngữ đáng tin cậy. Điều này có thể bị thu hồi nếu muốn.

kèo bóng đá c1 ngữ thủ tục là địa phương cho các cơ sở dữ liệu riêng lẻ. Tuy nhiên, một kèo bóng đá c1 ngữ có thể được cài đặt vàoTemplate1cơ sở dữ liệu, sẽ khiến nó trở thành có sẵn tự động trong tất cả các điều sau đó được tạo ra cơ sở dữ liệu.

Hàm người xử lý cuộc gọi và hàm xác thực (nếu có) phải tồn tại nếu máy chủ không có mục nhập cho kèo bóng đá c1 ngữ trongpg_pltemplate. Nhưng khi nào Có một mục, các chức năng không cần tồn tại; họ sẽ được tự động xác định nếu không có trong cơ sở dữ liệu. (Điều này có thể dẫn đếnTạo kèo bóng đá c1 ngữThất bại, nếu thư viện chia sẻ thực hiện kèo bóng đá c1 ngữ là không khả dụng trong cài đặt.)

inPostgreSQLPhiên bản trước 7.3, cần phải tuyên bố các chức năng xử lý là trả lại Loại giữ chỗOpaque, chứ không phảikèo bóng đá c1_handler. Để hỗ trợ tải cũ Tệp kết xuất,Tạo kèo bóng đá c1 ngữsẽ chấp nhận một chức năng được tuyên bố là trả vềOpaque,, Nhưng nó sẽ đưa ra một thông báo và thay đổi chức năng được khai báo Trả về loại thànhkèo bóng đá c1_handler.

Ví dụ

Cách ưa thích để tạo ra bất kỳ thủ tục tiêu chuẩn nào kèo bóng đá c1 ngữ chỉ là:

Tạo kèo bóng đá c1 ngữ plpgsql;

Đối với một kèo bóng đá c1 ngữ không được biết trongpg_pltemplateDanh mục, một chuỗi như thế này là cần thiết:

tạo chức năng plsample_call_handler () trả về kèo bóng đá c1_handler
    Như '$ libdir/plsample'
    Ngôn ngữ C;
Tạo ngôn ngữ plsample
    Handler plsample_call_handler;

Tương thích

Tạo kèo bóng đá c1 ngữlà mộtPostgreSQLMở rộng.