Então você quer silenciar todas as categorias nas configurações do grupo, exceto aquelas que são observadas ou onde o primeiro post é observado?
Eu acho que você poderia usar o explorador de dados para fornecer uma lista de IDs de categoria separados por | para que você possa colá-la diretamente na configuração do grupo.
Assim:
É isso que você tinha em mente?
Esta é a consulta que usei para obter essa lista:
--[params]
-- group_id :group
WITH excluded_categories AS (
SELECT category_id
FROM group_category_notification_defaults
WHERE group_id = :group
AND notification_level IN (3, 4)
),
category_names AS (
SELECT id
FROM categories
WHERE id NOT IN (SELECT category_id FROM excluded_categories)
)
SELECT string_agg(CAST(id AS TEXT), '|') AS category_list
FROM category_names;