Phiên bản được hỗ trợ:hiện tại(173651_378216 / 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ế.

Tạo kèo bóng đá cúp c2 ngữ

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

Synopsis

Tạo [hoặc thay thế] [Thủ tục] kèo bóng đá cúp c2 ngữtênTạo [hoặc thay thế] [đáng tin cậy] [Thủ tục] kèo bóng đá cúp c2 ngữtênHandlercall_handler[Inlineinline_handler] [Trình xác nhậnValfunction]

Mô tả

Tạo kèo bóng đá cúp c2 ngữĐăng ký một kèo bóng đá cúp c2 ngữ thủ tục mới với APostgreSQLCơ sở dữ liệu. Sau đó, các chức năng và quy trình kích hoạt có thể được xác định trong kèo bóng đá cúp c2 ngữ mới này.

Lưu ý

kể từPOSTGRESQL9.1, Hầu hết các kèo bóng đá cúp c2 ngữ thủ tục đã được tạo thànhHồiPhần mở rộng, và do đó nên được cài đặt vớiTạo tiện ích mở rộngkhôngTạo kèo bóng đá cúp c2 ngữ. Sử dụng trực tiếpTạo kèo bóng đá cúp c2 ngữBây giờ nên được giới hạn trong các tập lệnh cài đặt mở rộng. Nếu bạn cóHồitrầnkèo bóng đá cúp c2 ngữ trong cơ sở dữ liệu của bạn, có lẽ là kết quả của việc nâng cấp, bạn có thể chuyển đổi nó thành tiện ích mở rộng bằng cách sử dụngTạo tiện ích mở rộngLangnameTừ chưa đóng gói.

Tạo kèo bóng đá cúp c2 ngữliên kết hiệu quả tên kèo bóng đá cúp c2 ngữ với (các) hàm Handler chịu trách nhiệm thực thi các chức năng được viết bằng kèo bóng đá cúp c2 ngữ. Tham khảoChương 55Để biết thêm thông tin về người xử lý kèo bóng đá cúp c2 ngữ.

Có hai dạng củaTạo kèo bóng đá cúp c2 ngữLệnh. Trong mẫu đầu tiên, người dùng chỉ cung cấp tên của kèo bóng đá cúp c2 ngữ mong muốn và13118_13130Má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 các tham số kèo bóng đá cúp c2 ngữ cùng với tên kèo bóng đá cúp c2 ngữ. Mẫu thứ hai có thể được sử dụng để tạo một kèo bóng đá cúp c2 ngữ không được định nghĩa trongpg_pltemplate, nhưng cách tiếp cận này đượ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 tên kèo bóng đá cúp c2 ngữ đã cho, nó sẽ sử dụng dữ liệu danh mục ngay cả khi lệnh bao gồm các tham số kèo bóng đá cúp c2 ngữ. Hành vi này đơn giản hóa việc tải các tệp kết xuất cũ, 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 đá cúp c2 ngữ.

Thông thường, người dùng phải cóPostgreSQL14028_14194pg_pltemplateDanh mục và được đánh dấu là cho phép được tạo bởi chủ sở hữu cơ sở dữ liệu (TMPLDBacreatelà đúng). Mặc định là các kèo bóng đá cúp c2 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 kèo bóng đá cúp c2 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.

Tạo hoặc thay thế kèo bóng đá cúp c2 ngữsẽ tạo một kèo bóng đá cúp c2 ngữ mới hoặc thay thế một định nghĩa hiện có. Nếu kèo bóng đá cúp c2 ngữ đã tồn tại, các tham số của nó được cập nhật theo các giá trị được chỉ định hoặc lấy từpg_pltemplate, nhưng cài đặt quyền sở hữu và quyền của kèo bóng đá cúp c2 ngữ không thay đổi và bất kỳ chức năng hiện có nào được viết bằng kèo bóng đá cúp c2 ngữ được cho là vẫn còn hợp lệ. Ngoài các yêu cầu đặc quyền thông thường để tạo kèo bóng đá cúp c2 ngữ, người dùng phải là siêu người dùng hoặc chủ sở hữu kèo bóng đá cúp c2 ngữ hiện có. Thethay thếTrường hợp chủ yếu được sử dụng để đảm bảo rằng kèo bóng đá cúp c2 ngữ tồn tại. Nếu kèo bóng đá cúp c2 ngữ cópg_pltemplatemục sau đóthay thế15455_15559pg_pltemplateMục nhập đã được sửa đổi kể từ khi kèo bóng đá cúp c2 ngữ được tạo.

tham số

Trusted

TrustedChỉ định rằng kèo bóng đá cúp c2 ngữ không cấp quyền truy cập vào dữ liệu mà người dùng sẽ không có. Nếu từ khóa này bị bỏ qua khi đăng ký kèo bóng đá cúp c2 ngữ, chỉ người dùng cóPostgreSQLĐặc quyền Superuser có thể sử dụng kèo bóng đá cúp c2 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 đá cúp c2 ngữ thủ tục mới. Tên phải là duy nhất trong số các kèo bóng đá cúp c2 ngữ trong cơ sở dữ liệu.

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

Handler call_handler

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

nội tuyến inline_handler

inline_handlerlà tên của hàm đã đăng ký trước đó sẽ được gọi để thực thi một khối mã ẩn danh (dolệnh) trong kèo bóng đá cúp c2 ngữ này. Nếu khônginline_handlerHàm được chỉ định, kèo bóng đá cúp c2 ngữ không hỗ trợ các khối mã ẩn danh. Hàm xử lý phải lấy một đối số của loạiNội bộ, sẽ làdoBiểu diễn nội bộ của lệnh và nó thường sẽ trả vềvoid. Giá trị trả về của người xử lý bị bỏ qua.

Validator Valfunction

Valfunctionlà tên của hàm đã đăng ký trước đó sẽ được gọi khi một hàm mới trong kèo bóng đá cúp c2 ngữ được tạo, để xác thực chức năng mới. Nếu không có chức năng xác thực được chỉ định, thì một hàm 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 hàm được tạo và thường sẽ trả vềvoid.

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

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

Ghi chú

sử dụngDrop Languageđể bỏ các kèo bóng đá cúp c2 ngữ thủ tục.

Danh mục hệ thốngPG_Language(xemPhần 51,29) Hồ sơ thông tin về các kèo bóng đá cúp c2 ngữ hiện được cài đặt. Ngoài ra,PSQLlệnh\ DLliệt kê các kèo bóng đá cúp c2 ngữ đã cài đặt.

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

kèo bóng đá cúp c2 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 đá cúp c2 ngữ có thể được cài đặt vàoTemplate1Cơ sở dữ liệu, sẽ khiến nó có sẵn tự động trong tất cả các cơ sở dữ liệu được tạo ra sau đó.

20527_20706pg_pltemplate. Nhưng khi có một mục, các chức năng không cần tồn tại; Chúng 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 đá cúp c2 ngữKhông thành công, nếu thư viện chia sẻ thực hiện kèo bóng đá cúp c2 ngữ không có sẵn trong cài đặt.)

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

ví dụ

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

Tạo kèo bóng đá cúp c2 ngữ plperl;

Đối với một kèo bóng đá cúp c2 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 đá cúp c2_handler
    Như '$ libdir/plsample'
    Ngôn ngữ C;
Tạo ngôn ngữ plsample
    Handler plsample_call_handler;

22202_22217

Tạo kèo bóng đá cúp c2 ngữlà APostgreSQLphần mở rộng.