mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Route lag-tolerant reads to an optional Postgres read replica (#2084)
Signed-off-by: Tyler Longwell <tlongwell@block.xyz> Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co> Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
This commit is contained in:
co-authored by
npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d
Tyler Longwell
parent
c81806d1c8
commit
29c48883d3
@@ -14,10 +14,12 @@ BEGIN
|
||||
WHERE inhparent = 'events'::regclass
|
||||
AND inhrelid = 'events_p_past'::regclass
|
||||
) THEN
|
||||
-- pgschema may copy the parent trigger onto standalone children. Drop
|
||||
-- that copy before ATTACH; PostgreSQL recreates inherited parent
|
||||
-- triggers while attaching and rejects a same-named child trigger.
|
||||
-- pgschema may copy parent triggers onto standalone children. Drop
|
||||
-- those copies before ATTACH; PostgreSQL recreates inherited parent
|
||||
-- triggers while attaching and rejects same-named child triggers
|
||||
-- (both the push-match trigger and the replica-fence floor guard).
|
||||
DROP TRIGGER IF EXISTS events_enqueue_push_match ON events_p_past;
|
||||
DROP TRIGGER IF EXISTS events_created_at_floor ON events_p_past;
|
||||
ALTER TABLE events ATTACH PARTITION events_p_past
|
||||
FOR VALUES FROM (MINVALUE) TO ('2026-01-01');
|
||||
END IF;
|
||||
@@ -28,6 +30,7 @@ BEGIN
|
||||
AND inhrelid = 'events_p2026_01'::regclass
|
||||
) THEN
|
||||
DROP TRIGGER IF EXISTS events_enqueue_push_match ON events_p2026_01;
|
||||
DROP TRIGGER IF EXISTS events_created_at_floor ON events_p2026_01;
|
||||
ALTER TABLE events ATTACH PARTITION events_p2026_01
|
||||
FOR VALUES FROM ('2026-01-01') TO ('2026-02-01');
|
||||
END IF;
|
||||
@@ -38,6 +41,7 @@ BEGIN
|
||||
AND inhrelid = 'events_p2026_02'::regclass
|
||||
) THEN
|
||||
DROP TRIGGER IF EXISTS events_enqueue_push_match ON events_p2026_02;
|
||||
DROP TRIGGER IF EXISTS events_created_at_floor ON events_p2026_02;
|
||||
ALTER TABLE events ATTACH PARTITION events_p2026_02
|
||||
FOR VALUES FROM ('2026-02-01') TO ('2026-03-01');
|
||||
END IF;
|
||||
@@ -48,6 +52,7 @@ BEGIN
|
||||
AND inhrelid = 'events_p2026_03'::regclass
|
||||
) THEN
|
||||
DROP TRIGGER IF EXISTS events_enqueue_push_match ON events_p2026_03;
|
||||
DROP TRIGGER IF EXISTS events_created_at_floor ON events_p2026_03;
|
||||
ALTER TABLE events ATTACH PARTITION events_p2026_03
|
||||
FOR VALUES FROM ('2026-03-01') TO ('2026-04-01');
|
||||
END IF;
|
||||
@@ -58,6 +63,7 @@ BEGIN
|
||||
AND inhrelid = 'events_p2026_04'::regclass
|
||||
) THEN
|
||||
DROP TRIGGER IF EXISTS events_enqueue_push_match ON events_p2026_04;
|
||||
DROP TRIGGER IF EXISTS events_created_at_floor ON events_p2026_04;
|
||||
ALTER TABLE events ATTACH PARTITION events_p2026_04
|
||||
FOR VALUES FROM ('2026-04-01') TO ('2026-05-01');
|
||||
END IF;
|
||||
@@ -68,6 +74,7 @@ BEGIN
|
||||
AND inhrelid = 'events_p2026_05'::regclass
|
||||
) THEN
|
||||
DROP TRIGGER IF EXISTS events_enqueue_push_match ON events_p2026_05;
|
||||
DROP TRIGGER IF EXISTS events_created_at_floor ON events_p2026_05;
|
||||
ALTER TABLE events ATTACH PARTITION events_p2026_05
|
||||
FOR VALUES FROM ('2026-05-01') TO ('2026-06-01');
|
||||
END IF;
|
||||
@@ -78,6 +85,7 @@ BEGIN
|
||||
AND inhrelid = 'events_p2026_06'::regclass
|
||||
) THEN
|
||||
DROP TRIGGER IF EXISTS events_enqueue_push_match ON events_p2026_06;
|
||||
DROP TRIGGER IF EXISTS events_created_at_floor ON events_p2026_06;
|
||||
ALTER TABLE events ATTACH PARTITION events_p2026_06
|
||||
FOR VALUES FROM ('2026-06-01') TO ('2026-07-01');
|
||||
END IF;
|
||||
@@ -88,6 +96,7 @@ BEGIN
|
||||
AND inhrelid = 'events_p_future'::regclass
|
||||
) THEN
|
||||
DROP TRIGGER IF EXISTS events_enqueue_push_match ON events_p_future;
|
||||
DROP TRIGGER IF EXISTS events_created_at_floor ON events_p_future;
|
||||
ALTER TABLE events ATTACH PARTITION events_p_future
|
||||
FOR VALUES FROM ('2026-07-01') TO (MAXVALUE);
|
||||
END IF;
|
||||
|
||||
Reference in New Issue
Block a user