Tôi đang sử dụng phân vùng dựa trên thời gian "cổ điển" bằng cách sử dụng kích hoạt. Tôi đã tìm thấy một nhu cầu cho một kích hoạt riêng biệt, chạy trên bảng gốc.
CREATE TABLE twitter_interactions(...);
CREATE OR REPLACE FUNCTION insert_twitter_interactions ...;
CREATE TRIGGER insert_twitter_interactions_trig
BEFORE INSERT OR UPDATE on twitter_interactions
FOR EACH ROW EXECUTE PROCEDURE insert_twitter_interactions();
CREATE OR REPLACE FUNCTION maintain_data_pointers ...;
CREATE TRIGGER maintain_data_pointers_trig
BEFORE INSERT OR UPDATE on twitter_interactions
FOR EACH ROW EXECUTE PROCEDURE insert_twitter_interactions();
Tôi chưa xác minh đầy đủ, nhưng tôi nghi ngờ logic phân vùng chạy trước khi kích hoạt duy trì và vì hàng không kết thúc trong bảng cha, nên kích hoạt thứ 2 không bao giờ kích hoạt.
Điều gì xảy ra nếu tôi muốn chạy AFTER INSERT OR UPDATE
như vậy? Vì hàng không đưa nó vào bảng gốc, nên tôi không thể thực hiện logic sau.