From 59170a77e6f3f43741ff68aeef6c8cee2b987229 Mon Sep 17 00:00:00 2001 From: Maksym Buz Date: Thu, 26 Mar 2026 19:35:53 +0000 Subject: [PATCH] fix(partitioning): add exact Zabbix auditlog indexes with renamed suffix to prevent IF NOT EXISTS collision --- postgresql/procedures/02_enable_partitioning.sql | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/postgresql/procedures/02_enable_partitioning.sql b/postgresql/procedures/02_enable_partitioning.sql index 4777506..7378749 100644 --- a/postgresql/procedures/02_enable_partitioning.sql +++ b/postgresql/procedures/02_enable_partitioning.sql @@ -32,8 +32,11 @@ BEGIN IF v_table = 'auditlog' THEN EXECUTE format('CREATE TABLE %I.%I (LIKE %I.%I INCLUDING DEFAULTS INCLUDING COMMENTS) PARTITION BY RANGE (clock)', v_schema, v_table, v_schema, v_old_table); EXECUTE format('ALTER TABLE %I.%I ADD PRIMARY KEY (auditid, clock)', v_schema, v_table); - EXECUTE format('CREATE INDEX IF NOT EXISTS auditlog_1 ON %I.%I (userid, clock)', v_schema, v_table); - EXECUTE format('CREATE INDEX IF NOT EXISTS auditlog_2 ON %I.%I (clock)', v_schema, v_table); + EXECUTE format('CREATE INDEX IF NOT EXISTS auditlog_p_1 ON %I.%I (userid, clock)', v_schema, v_table); + EXECUTE format('CREATE INDEX IF NOT EXISTS auditlog_p_2 ON %I.%I (clock)', v_schema, v_table); + EXECUTE format('CREATE INDEX IF NOT EXISTS auditlog_p_3 ON %I.%I (resourcetype, resourceid)', v_schema, v_table); + EXECUTE format('CREATE INDEX IF NOT EXISTS auditlog_p_4 ON %I.%I (recordsetid)', v_schema, v_table); + EXECUTE format('CREATE INDEX IF NOT EXISTS auditlog_p_5 ON %I.%I (ip)', v_schema, v_table); ELSE EXECUTE format('CREATE TABLE %I.%I (LIKE %I.%I INCLUDING ALL) PARTITION BY RANGE (clock)', v_schema, v_table, v_schema, v_old_table); END IF;