Tạo [hoặc thay thế] [Thủ tục] tỷ lệ kèo bóng đá tối nay ngữtênTạo [hoặc thay thế] [đáng tin cậy] [Thủ tục] tỷ lệ kèo bóng đá tối nay ngữ11086_11092Handlercall_handler[Inlineinline_handler] [Trình xác nhậnValfunction]
Tạo tỷ lệ kèo bóng đá tối nay ngữĐăng ký một tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay ngữ mới này.
Lưu ý:kể từPostgreSQL9.1, Hầu hết các tỷ lệ kèo bóng đá tối nay ngữ thủ tục đã được tạo thành"Tiện ích mở rộng"và do đó nên được cài đặt vớiPostgreSQL: TàkhôngTạo tỷ lệ kèo bóng đá tối nay ngữ. Sử dụng trực tiếpTạo tỷ lệ kèo bóng đá tối nay ngữBây giờ nên giới hạn trong các tập lệnh cài đặt mở rộng. Nếu bạn có"trần"tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay ngữ12411_12559Chương 52Để biết thêm thông tin về người xử lý tỷ lệ kèo bóng đá tối nay ngữ.
Có hai dạng củaTạo tỷ lệ kèo bóng đá tối nay ngữlệnh. Trong mẫu đầu tiên, người dùng chỉ cung cấp tên của tỷ lệ kèo bóng đá tối nay ngữ mong muốn vàPostgreSQL12854_12877PostgreSQL: TàiDanh 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ố tỷ lệ kèo bóng đá tối nay ngữ cùng với tên tỷ lệ kèo bóng đá tối nay ngữ. Mẫu thứ hai có thể được sử dụng để tạo một tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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ố tỷ lệ kèo bóng đá tối nay 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ợ tỷ lệ kèo bóng đá tối nay ngữ.
Thông thường, người dùng phải cóPostgreSQLĐặc quyền của SuperUser để đăng ký một tỷ lệ kèo bóng đá tối nay 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 đá tối nay ngữ mới trong cơ sở dữ liệu đó nếu tỷ lệ kèo bóng đá tối nay ngữ được liệt kê trongpg_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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 đá tối nay ngữsẽ tạo một tỷ lệ kèo bóng đá tối nay ngữ mới hoặc thay thế một định nghĩa hiện có. Nếu tỷ lệ kèo bóng đá tối nay 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_pltemplate14582_14877thay thếTrường hợp chủ yếu được sử dụng để đảm bảo rằng tỷ lệ kèo bóng đá tối nay ngữ tồn tại. Nếu tỷ lệ kèo bóng đá tối nay ngữ cópg_pltemplatemục 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 sửa đổi kể từ khi tỷ lệ kèo bóng đá tối nay ngữ được tạo.
TrustedChỉ định rằng tỷ lệ kèo bóng đá tối nay ngữ không cấp quyền truy cập vào dữ liệu mà người dùng không có. Nếu từ khóa này bị bỏ qua khi đăng ký tỷ lệ kèo bóng đá tối nay ngữ, chỉ người dùng cóPostgreSQLĐặc quyền Superuser có thể sử dụng tỷ lệ kèo bóng đá tối nay 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 đá tối nay ngữ thủ tục mới. Tên phải là duy nhất trong số các tỷ lệ kèo bóng đá tối nay 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.
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 tỷ lệ kèo bóng đá tối nay ngữ thủ tục. Trình xử lý cuộc gọi cho một tỷ lệ kèo bóng đá tối nay ngữ thủ tục phải được viết bằng tỷ lệ kèo bóng đá tối nay 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ạitỷ lệ kèo bóng đá tối nay_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.
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 tỷ lệ kèo bóng đá tối nay ngữ này. Nếu khônginline_handlerHàm được chỉ định, tỷ lệ kèo bóng đá tối nay 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àdoĐại 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.
Valfunctionlà tên của hàm đã đăng ký trước đó sẽ được gọi khi một hàm mới trong tỷ lệ kèo bóng đá tối nay ngữ được tạo, để xác thực hàm 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.
Một hàm xác thực thường kiểm tra cơ thể chức năng 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 tỷ lệ kèo bóng đá tối nay 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.
18474_18480đáng tin cậyTù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 tỷ lệ kèo bóng đá tối nay ngữ được chỉ định trongpg_pltemplate.
Thekèo bóng đáChương trình là một trình bao bọc đơn giản xung quanhTạo tỷ lệ kèo bóng đá tối nay ngữlệnh. Nó giúp cài đặt các tỷ lệ kèo bóng đá tối nay ngữ thủ tục từ dòng lệnh shell.
sử dụngPostgreSQL: Tàihoặc tốt hơn làDroplangChương trình, để bỏ các tỷ lệ kèo bóng đá tối nay ngữ thủ tục.
Danh mục hệ thốngPG_L Language
(xemPhần 48,28) Hồ sơ thông tin về các tỷ lệ kèo bóng đá tối nay 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 đá tối nay ngữ đã cài đặt.
Để tạo các chức năng trong tỷ lệ kèo bóng đá tối nay ngữ thủ tục, người dùng phải cósử dụngĐặc quyền cho tỷ lệ kèo bóng đá tối nay ngữ. Theo mặc định,sử dụngđược cấp chocông khai19727_19801
tỷ lệ kèo bóng đá tối nay 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 đá tối nay 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 đó.
hàm xử lý cuộc gọi, hàm xử lý nội tuyến (nếu có) 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 đá tối nay ngữ trongpg_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 tỷ lệ kèo bóng đá tối nay ngữKhông thành công, nếu thư viện được chia sẻ thực hiện tỷ lệ kèo bóng đá tối nay 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ả về loại trình giữ chỗOpaque, thay vìtỷ lệ kèo bóng đá tối nay_handler. Để hỗ trợ tải các tệp kết xuất cũ,Tạo tỷ lệ kèo bóng đá tối nay ngữ20880_20928Opaque, 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ànhtỷ lệ kèo bóng đá tối nay_handler.
Cách ưa thích để tạo bất kỳ tỷ lệ kèo bóng đá tối nay ngữ thủ tục tiêu chuẩn nào chỉ là:
Tạo tỷ lệ kèo bóng đá tối nay ngữ plperl;
Đối với một tỷ lệ kèo bóng đá tối nay 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 đá tối nay_handler Như '$ libdir/plsample' Ngôn ngữ C; Tạo ngôn ngữ plsample Handler plsample_call_handler;