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
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ế.

38.1. Tổng quan về hành vi tỷ lệ kèo bóng đá 88#

Một tỷ lệ kèo bóng đá 88 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ợ làĐăng nhập, DDL_Command_Start, DDL_Command_end, Table_rewriteSQL_Drop. Hỗ trợ cho các sự tỷ lệ kèo bóng đá 88 bổ sung có thể được thêm vào trong các bản phát hành trong tương lai.

38.1.1. Đăng nhập#

TheĐăng nhậpSự tỷ lệ kèo bóng đá 88 xảy ra khi người dùng được xác thực đăng nhập vào hệ thống. Bất kỳ lỗi nào trong quy trình kích hoạt cho sự tỷ lệ kèo bóng đá 88 này có thể ngăn chặn đăng nhập thành công vào hệ thống. Những lỗi như vậy có thể được hoạt động xung quanh bằng cách cài đặtevent_triggersđếnSaiTrong một chuỗi kết nối hoặc tệp cấu hình. Ngoài ra, bạn có thể khởi động lại hệ thống ở chế độ người dùng đơn (vì các tỷ lệ kèo bóng đá 88 bị vô hiệu hóa ở chế độ này). XemPostgresTrang tham khảo để biết chi tiết về việc sử dụng chế độ người dùng đơn. TheĐăng nhậpSự tỷ lệ kèo bóng đá 88 cũng sẽ bắn trên các máy chủ dự phòng. Để ngăn các máy chủ trở nên không thể truy cập, các kích hoạt như vậy phải tránh viết bất cứ thứ gì vào cơ sở dữ liệu khi chạy trên chế độ chờ. Ngoài ra, bạn nên tránh các truy vấn dài hạn trongĐăng nhậptỷ lệ kèo bóng đá 88. Lưu ý rằng, ví dụ, hủy kết nối trongPSQLsẽ không hủy bỏ trong tiến trìnhĐăng nhậpTrigger.

Ví dụ về cách sử dụngĐăng nhậpTrình tỷ lệ kèo bóng đá 88, xemPhần 38.5.

38.1.2. ddl_command_start#

TheDDL_Command_StartSự tỷ lệ kèo bóng đá 88 xảy ra ngay trước khi thực hiện lệnh DDL. Các lệnh DDL trong ngữ cảnh này là:

  • Tạo

  • thay đổi

  • Drop

  • bình luận

  • Grant

  • Nhập lược đồ nước ngoài

  • Reindex

  • Làm mới chế độ xem vật chất

  • thu hồi

  • Nhãn bảo mật

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.

Là một ngoại lệ, sự tỷ lệ kèo bóng đá 88 này không xảy ra đối với các lệnh DDL nhắm mục tiêu các đối tượng được chia sẻ:

  • cơ sở dữ liệu

  • Vai trò (định nghĩa vai trò và thành viên vai trò)

  • Tablespace

  • Đặc quyền tham số

  • System

Sự tỷ lệ kèo bóng đá 88 này cũng không xảy ra đối với các lệnh nhắm mục tiêu sự tỷ lệ kèo bóng đá 88.

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 đá 88.

38.1.3. ddl_command_end#

TheDDL_COMMAND_ENDSự tỷ lệ kèo bóng đá 88 xảy ra ngay sau khi thực hiện cùng một bộ lệnh nhưDDL_Command_Start. Để có thêm chi tiết vềDDLCác tỷ lệ kèo bóng đá 88 độ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 đá 88 (xemPhần 9.30). Lưu ý rằng các vụ cháy kích tỷ lệ kèo bóng đá 88 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.

38.1.4. sql_drop#

TheSQL_DropSự tỷ lệ kèo bóng đá 88 xảy ra ngay trướcDDL_COMMAND_ENDTrình tỷ lệ kèo bóng đá 88 cho bất kỳ hoạt động nào làm giảm các đối tượng cơ sở dữ liệu. Lưu ý rằng bên cạnh điều hiển nhiênDroplệnh, một sốATTERCác lệnh cũng có thể kích tỷ lệ kèo bóng đá 88SQL_DropSự tỷ lệ kèo bóng đá 88.

Để liệt kê các đối tượng đã bị loại bỏ, 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 đá 88 (xemPhần 9.30). Lưu ý rằng kích tỷ lệ kèo bóng đá 88 đượ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.

38.1.5. Table_rewrite#

TheTable_rewriteSự tỷ lệ kèo bóng đá 88 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 ALTERthay đổ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ự tỷ lệ kèo bóng đá 88 không được kích hoạt 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 (), Để khám phá (các) lý do để viết lại, sử dụng hàm(xemPhần 9.30).

38.1.6. tỷ lệ kèo bóng đá 88 trong các giao dịch bị hủy bỏ#

Trình tỷ lệ kèo bóng đá 88 (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 đá 88 nào sẽ bắn 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_END19268_19434

38.1.7. Tạo sự tỷ lệ kèo bóng đá 88 kích hoạt#

Trình tỷ lệ kèo bóng đá 88 được tạo bằng lệnhTạo Trình tỷ lệ kèo bóng đá 88. Để tạo trình tỷ lệ kèo bóng đá 88, 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ị; Loại trả về chỉ đóng vai trò là tín hiệu cho thấy hàm sẽ được gọi dưới dạng tỷ lệ kèo bóng đá 88.

Nếu có nhiều hơn một tỷ lệ kèo bóng đá 88 đượ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 bằng tên kích hoạt.

Định nghĩa kích tỷ lệ kèo bóng đá 88 cũng có thể chỉ định AKhiĐiều tỷ lệ kèo bóng đá 88 sao cho, ví dụ, A​​DDL_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 đá 88 như vậy là hạn chế phạm vi tỷ lệ kèo bóng đá 88 động DDL mà người dùng có thể thực hiện.