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

40.1. Tổng quan về hành vi tỷ lệ kèo bóng đá tối nay#

Một tỷ lệ kèo bóng đá tối nay bắn bất cứ khi nào sự kiện được liên kết xảy ra trong cơ sở dữ liệu được xác định. Hiện tại, các sự kiện được hỗ trợ duy nhất làDDL_Command_Start, DDL_Command_end, Table_rewriteSQL_Drop. Hỗ trợ cho các sự tỷ lệ kèo bóng đá tối nay bổ sung có thể được thêm vào trong các bản phát hành trong tương lai.

TheDDL_Command_StartSự tỷ lệ kèo bóng đá tối nay xảy ra ngay trước khi thực hiện ATạo, Alter, thả, Nhãn bảo mật, bình luận, Granthoặcthu hồilệnh. Không kiểm tra xem đối tượng bị ảnh hưởng có tồn tại hay không tồn tại được thực hiện trước khi tỷ lệ kèo bóng đá tối nay.DDL_Command_Startcũng xảy ra ngay trước khi thực hiệnChọn vàolệnh, vì điều này tương đương vớiTạo bảng dưới dạng.

TheDDL_COMMAND_ENDSự tỷ lệ kèo bóng đá tối nay xảy ra ngay sau khi thực hiện cùng một bộ lệnh này. Để có thêm chi tiết vềDDLCác tỷ lệ kèo bóng đá tối nay động đã diễn ra, sử dụng chức năng trả lại thiết lậppg_event_trigger_ddl_commands ()từDDL_COMMAND_ENDMã tỷ lệ kèo bóng đá tối nay (xemPhần 9,29). Lưu ý rằng các vụ cháy kích tỷ lệ kèo bóng đá tối nay sau khi các hành động đã diễn ra (nhưng trước khi giao dịch thực hiện) và do đó, các danh mục hệ thống có thể được đọc như đã thay đổi.

TheSQL_DropSự tỷ lệ kèo bóng đá tối nay xảy ra ngay trướcDDL_COMMAND_ENDTrình tỷ lệ kèo bóng đá tối nay cho bất kỳ hoạt động nào làm giảm các đối tượng cơ sở dữ liệu. Để liệt kê các đối tượng đã bị loại bỏ, hãy sử dụng chức năng hoàn trả lạipg_event_trigger_dropped_objects ()từSQL_DropMã tỷ lệ kèo bóng đá tối nay (xemPhần 9,29). Lưu ý rằng kích tỷ lệ kèo bóng đá tối nay được thực thi sau khi các đối tượng đã bị xóa khỏi các danh mục hệ thống, vì vậy không thể tìm kiếm chúng nữa.

TheTable_rewriteSự tỷ lệ kèo bóng đá tối nay xảy ra ngay trước khi bảng được viết lại bởi một số hành động của các lệnhBảng thay đổithay đổi loại. Trong khi các câu lệnh điều khiển khác có sẵn để viết lại một bảng, nhưcụmNút hút, TheTable_rewriteSự kiện không được kích tỷ lệ kèo bóng đá tối nay bởi chúng. Để tìm oid của bảng được viết lại, hãy sử dụng chức năngpg_event_trigger_table_rewrite_oid ()(xemPhần 9,29). Để khám phá (các) lý do để viết lại, hãy sử dụng chức năngpg_event_trigger_table_rewrite_reason ().

tỷ lệ kèo bóng đá tối nay (giống như các chức năng khác) không thể được thực thi trong một giao dịch bị hủy bỏ. Do đó, nếu lệnh DDL không có lỗi, bất kỳ liên quan nàoDDL_COMMAND_ENDTriggers sẽ không được thực thi. Ngược lại, nếu mộtDDL_Command_StartTrình kích hoạt thất bại với lỗi, không có trình tỷ lệ kèo bóng đá tối nay nào sẽ xảy ra và không có nỗ lực nào được thực hiện để tự thực hiện lệnh. Tương tự, nếu mộtDDL_COMMAND_END12989_13155

Để biết danh sách đầy đủ các lệnh được hỗ trợ bởi cơ chế tỷ lệ kèo bóng đá tối nay, xemPhần 40.2.

Trình tỷ lệ kèo bóng đá tối nay được tạo bằng lệnhTạo Trình tỷ lệ kèo bóng đá tối nay. Để tạo trình tỷ lệ kèo bóng đá tối nay, trước tiên bạn phải tạo chức năng với loại trả về đặc biệtevent_trigger. Hàm này không cần (và có thể không) trả về một giá trị;

Nếu có nhiều hơn một tỷ lệ kèo bóng đá tối nay được xác định cho một sự kiện cụ thể, chúng sẽ bắn theo thứ tự bảng chữ cái theo tên kích hoạt.

Một định nghĩa kích tỷ lệ kèo bóng đá tối nay cũng có thể chỉ định AKhiĐiều tỷ lệ kèo bóng đá tối nay sao cho, ví dụ, ADDL_Command_StartTrigger chỉ có thể được bắn cho các lệnh cụ thể mà người dùng muốn chặn. Việc sử dụng phổ biến các kích tỷ lệ kèo bóng đá tối nay như vậy là hạn chế phạm vi tỷ lệ kèo bóng đá tối nay động DDL mà người dùng có thể thực hiện.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.