From a35be2b6690ea83d8d34e2ab61852f8a3a94fe08 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sun, 8 Mar 2026 22:55:42 -0700 Subject: [PATCH] fix: add GIN index on groups.members JSONB for membership lookups Without this index, ListGroupsForUser and membership queries require full table scans on the groups table. --- weed/credential/postgres/postgres_store.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/weed/credential/postgres/postgres_store.go b/weed/credential/postgres/postgres_store.go index 4c9a9771c..3ba4810d6 100644 --- a/weed/credential/postgres/postgres_store.go +++ b/weed/credential/postgres/postgres_store.go @@ -184,6 +184,12 @@ func (store *PostgresStore) createTables() error { return fmt.Errorf("failed to create groups disabled index: %w", err) } + // Create GIN index on groups members JSONB for membership lookups + groupsMembersIndex := `CREATE INDEX IF NOT EXISTS idx_groups_members_gin ON groups USING GIN (members);` + if _, err := store.db.Exec(groupsMembersIndex); err != nil { + return fmt.Errorf("failed to create groups members index: %w", err) + } + return nil }