Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển: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ế.

9.28. Chức năng kích hoạt sự kèo bóng đá euro

PostgreSQLCung cấp các chức năng trợ giúp này để truy xuất thông tin từ các kích hoạt sự kèo bóng đá euro.

Để biết thêm thông tin về kích hoạt sự kèo bóng đá euro, xemChương 40.

9.28.1. Nắm bắt các thay đổi ở cuối lệnh

PG_EVENT_TRIGGER_DDL_COMMANDSTrả về danh sáchDDLCác lệnh được thực thi bởi mỗi hành động của người dùng, khi được gọi trong một hàm được gắn vàoDDL_COMMAND_ENDKích hoạt sự kèo bóng đá euro. Nếu được gọi trong bất kỳ ngữ cảnh nào khác, một lỗi được nêu ra.PG_EVENT_TRIGGER_DDL_COMMANDSTrả về một hàng cho mỗi lệnh cơ sở được thực thi; Một số lệnh là một câu SQL duy nhất có thể trả về nhiều hơn một hàng.

tên loại Mô tả
classId OID oid của danh mục đối tượng thuộc về
objid oid oid của chính đối tượng
objsubid Số nguyên ID đối tượng phụ (ví dụ: số thuộc tính cho một cột)
Command_TAG Text thẻ lệnh
object_type Text Loại đối tượng
Schema_name Text Tên của lược đồ đối tượng thuộc về, nếu có; nếu không thìnull. Không có trích dẫn được áp dụng.
Object_identity Text Kết xuất văn bản của nhận dạng đối tượng, Lược đồ đủ điều kèo bóng đá euro. Mỗi định danh được bao gồm trong danh tính được trích dẫn nếu cần thiết.
in_extension bool Đúng nếu lệnh là một phần của tập lệnh mở rộng
lệnh PG_DDL_COMMAND Một đại diện hoàn chỉnh của lệnh, ở định dạng nội bộ. Điều này không thể được đầu ra trực tiếp, nhưng nó có thể được chuyển sang các chức kèo bóng đá euro khác để có được các thông tin khác nhau về lệnh.

9.28.2. Các đối tượng xử lý bị rơi bởi lệnh ddl

pg_event_trigger_dropped_objectsTrả về danh sách tất cả các đối tượng bị rơi bởi lệnh trong đóSQL_DropSự kèo bóng đá euro được gọi. Nếu được gọi trong bất kỳ ngữ cảnh nào khác,pg_event_trigger_dropped_objectsgây lỗi.pg_event_trigger_dropped_objectsTrả về các cột sau:

tên loại Mô tả
classID OID oid của danh mục đối tượng thuộc về
objid OID oid của chính đối tượng
objsubid Số nguyên ID đối tượng phụ (ví dụ: số thuộc tính cho một cột)
Bản gốc bool Đúng nếu đây là một trong những đối tượng gốc của việc xóa
bình thường bool Đúng nếu có mối quan hệ phụ thuộc bình thường trong biểu đồ phụ thuộc dẫn đến đối tượng này
IS_TEMDEN bool Đúng nếu đây là đối tượng tạm thời
object_type Text Loại đối tượng
Schema_name Text Tên của lược đồ đối tượng thuộc về, nếu có; nếu không thìnull. Không có trích dẫn được áp dụng.
object_name Text Tên của đối tượng, nếu sự kết hợp của lược đồ và tên có thể được sử dụng như một định danh duy nhất cho đối tượng; nếu không thìnull. Không có trích dẫn được áp dụng và tên không bao giờ là sơ đồ.
Object_identity Text Kết xuất văn bản của nhận dạng đối tượng, Lược đồ đủ điều kèo bóng đá euro. Mỗi định danh được bao gồm trong danh tính được trích dẫn nếu cần thiết.
địa chỉ_names Text [] Một mảng, cùng vớiobject_typeđịa chỉ_args, có thể được sử dụng bởipg_get_object_address ()hàm để tạo lại địa chỉ đối tượng trong một máy chủ từ xa chứa một đối tượng có tên giống hệt nhau của cùng một loại
địa chỉ_args Text [] Bổ sung chođịa chỉ_names

Thepg_event_trigger_dropped_objectsHàm có thể được sử dụng trong trình kích hoạt sự kèo bóng đá euro như thế này:

Tạo chức kèo bóng đá euro test_event_trigger_for_drops ()

9.28.3. Xử lý một sự kèo bóng đá euro viết lại bảng

Các chức kèo bóng đá euro được hiển thị trongBảng 9.90Cung cấp thông tin về một bảng mà ATable_rewriteSự kèo bóng đá euro vừa được gọi. Nếu được gọi trong bất kỳ ngữ cảnh nào khác, một lỗi được nêu ra.

Bảng 9.90. Bảng viết lại thông tin

tên Loại trả lại Mô tả
pg_event_trigger_table_rewrite_oid () oid oid của bảng sắp được viết lại.
int Mã lý do giải thích lý do viết lại. Ý nghĩa chính xác của mã là phụ thuộc vào phát hành.

ThePG_EVENT_TRIGGER_TABLE_REWRITE_OIDCó thể sử dụng chức năng trong trình kích hoạt sự kèo bóng đá euro như thế này:

Tạo chức kèo bóng đá euro test_event_trigger_table_rewrite_oid ()