Tạo [hoặc thay thế] [Thủ tục] tỷ lệ kèo bóng đá ngữtênTạo [hoặc thay thế] [đáng tin cậy] [Thủ tục] tỷ lệ kèo bóng đá ngữtênHandlercall_handler[Inlineinline_handler] [Trình xác nhậnValfunction]
Tạo tỷ lệ kèo bóng đá ngữ11572_11620PostgreSQLCơ 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 tỷ lệ kèo bóng đá ngữ mới này.
Lưu ý:kể từPostgreSQL9.1, hầu hết các thủ tục tỷ lệ kèo bóng đá ngữ đã được tạo thành"Tiện ích mở rộng"11999_12048PostgreSQL: Tài liệu: 9.2: TạokhôngTạo tỷ lệ kèo bóng đá ngữ. Sử dụng trực tiếpTạo tỷ lệ kèo bóng đá ngữnên Bây giờ được giới hạn trong các tập lệnh cài đặt mở rộng. Nếu bạn có một"trần"tỷ lệ kèo bóng đá ngữ trong của bạn cơ sở dữ liệu, có lẽ là kết quả của việc nâng cấp, bạn có thể chuyển đổi nó đến một phần mở rộng bằng cách sử dụngtỷ lệ kèo bóng đá tiện ích mở rộngLangnameTừ Chưa đóng gói.
Tạo tỷ lệ kèo bóng đá ngữHiệu quả liên kết tên tỷ lệ kèo bóng đá ngữ với (các) hàm xử lý Chịu trách nhiệm thực hiện các chức năng được viết bằng tỷ lệ kèo bóng đá ngữ. Tham khảoChương 4912828_12878
Có hai dạng củatỷ lệ kèo bóng đá NGÔN NGỮlệnh. Ở dạng đầu tiên, người dùng chỉ cung cấp tên của tỷ lệ kèo bóng đá 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ố tỷ lệ kèo bóng đá ngữ cùng với tên tỷ lệ kèo bóng đá ngữ. Hình thức thứ hai có thể được sử dụng để tạo một tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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ố tỷ lệ kèo bóng đá 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ợ tỷ lệ kèo bóng đá ngữ.
Thông thường, người dùng phải cóPostgreSQLĐặc quyền Superuser để đăng ký A tỷ lệ kèo bóng đá ngữ mới. Tuy nhiên, chủ sở hữu của cơ sở dữ liệu có thể đăng ký một tỷ lệ kèo bóng đá ngữ trong cơ sở dữ liệu đó nếu tỷ lệ kèo bóng đá ngữ được liệt kê trongpg_pltemplateDanh mục và được đánh dấu như được cho phép được tỷ lệ kèo bóng đá bởi chủ sở hữu cơ sở dữ liệu (TMPLDBacreatelà đúng). Mặc định là tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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ế tỷ lệ kèo bóng đá ngữWill hoặc tạo một tỷ lệ kèo bóng đá ngữ mới hoặc thay thế một định nghĩa hiện có. Nếu tỷ lệ kèo bóng đá 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 quyền sở hữu của tỷ lệ kèo bóng đá ngữ và Cài đặt quyền không thay đổi và bất kỳ chức năng hiện có nào được viết bằng tỷ lệ kèo bóng đá ngữ được giả định là vẫn còn hợp lệ. TRONG ngoài các yêu cầu đặc quyền thông thường để tạo tỷ lệ kèo bóng đá ngữ, người dùng phải là siêu nhân hoặc chủ sở hữu của hiện tại tỷ lệ kèo bóng đá ngữ. Thethay thếTrường hợp chủ yếu là có nghĩa là được sử dụng để đảm bảo rằng tỷ lệ kèo bóng đá ngữ tồn tại. Nếu tỷ lệ kèo bóng đá ngữ có mộtpg_pltemplatemục nhập sau đóthay thếSẽ không thực sự thay đổi bất cứ điều gì về một định nghĩa hiện có, ngoại trừ trong trường hợp bất thường trong đópg_pltemplateMục nhập có đã được sửa đổi kể từ khi tỷ lệ kèo bóng đá ngữ được tạo.
Trusted15904_16108PostgreSQLĐặc quyền Superuser có thể sử dụng tỷ lệ kèo bóng đá ngữ này để tạo các chức năng mới.
Đây là một từ tiếng ồn.
Tên của tỷ lệ kèo bóng đá ngữ thủ tục mới. Tên phải là duy nhất trong số các tỷ lệ kèo bóng đá 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.
call_handler16828_17130PostgreSQLLà một hàm không Đối số và trả lạitỷ lệ kèo bóng đá_handlerLoại, loại trình giữ chỗ mà chỉ đơn giản được sử dụng để xác định chức năng là một cuộc gọi người xử lý.
inline_handlerlà tên của một hàm đã đăng ký trước đó sẽ được gọi để thực thi một khối mã ẩn danh (dolệnh) trong tỷ lệ kèo bóng đá ngữ này. Nếu khônginline_handlerHàm là được chỉ định, tỷ lệ kèo bóng đá ngữ không hỗ trợ mã ẩn danh khối. Hàm xử lý phải lấy một đối số của loạiNội bộ18010_18040doNội bộ của lệnh đại diện và nó thường sẽ trả vềvoid. Giá trị trả về của người xử lý là bị bỏ qua.
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 tỷ lệ kèo bóng đá 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ỷ lệ kèo bóng đá 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
tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá ngữ được chỉ định trongpg_pltemplate.
Thecách đọc kèoChương trình là một trình bao bọc đơn giản Xung quanhTạo tỷ lệ kèo bóng đá ngữlệnh. Nó Giảm bớt việc cài đặt các tỷ lệ kèo bóng đá ngữ thủ tục khỏi lệnh shell đường kẻ.
sử dụngPostgreSQL: Tài liệu: 9.2:, hoặc tốt hơn làDroplangChương trình, để bỏ thủ tục tỷ lệ kèo bóng đá ngữ.
Danh mục hệ thốngPG_L Language
(xemPhần 45.27)
Hồ sơ thông tin về các tỷ lệ kèo bóng đá ngữ hiện được cài đặt.
Cũng,createlangCó tùy chọn để liệt kê
các tỷ lệ kèo bóng đá ngữ đã cài đặt.
20475_20546sử dụngĐặc quyền cho tỷ lệ kèo bóng đá ngữ. Qua mặc định,sử dụngđược cấp chocông khai(tức là mọi người) cho các tỷ lệ kèo bóng đá ngữ đáng tin cậy. Điều này có thể bị thu hồi nếu muốn.
tỷ lệ kèo bóng đá ngữ thủ tục là địa phương cho các cơ sở dữ liệu riêng lẻ. Tuy nhiên, một tỷ lệ kèo bóng đá ngữ có thể được cài đặt vàoTemplate1cơ sở dữ liệu, điều này sẽ khiến nó trở thành có sẵn tự động trong tất cả các điều sau đó được tỷ lệ kèo bóng đá ra cơ sở dữ liệu.
hàm xử lý cuộc gọi, hàm xử lý nội tuyến (nếu bất kỳ) 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 tỷ lệ kèo bóng đá ngữ trongpg_pltemplate. Nhưng khi có một mục, Các chức năng không cần phải tồn tại; Họ sẽ tự động được xác định nếu không có trong cơ sở dữ liệu. (Điều này có thể dẫn đếnTạo tỷ lệ kèo bóng đá ngữthất bại, nếu chia sẻ thư viện thực hiện tỷ lệ kèo bóng đá ngữ không có sẵn 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ảitỷ lệ kèo bóng đá_handler. Để hỗ trợ tải cũ Tệp kết xuất,Tạo tỷ lệ kèo bóng đá 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ànhtỷ lệ kèo bóng đá_handler.
Cách ưa thích để tạo bất kỳ thủ tục tiêu chuẩn nào tỷ lệ kèo bóng đá ngữ chỉ là:
Tạo tỷ lệ kèo bóng đá ngữ plperl;
Đối với một tỷ lệ kèo bóng đá 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ề tỷ lệ kèo bóng đá_handler Như '$ libdir/plsample' Ngôn ngữ C; Tạo ngôn ngữ plsample Handler plsample_call_handler;