PostgreeSQL: контроль уникальности вставки
Хороший вариант: возложить контроль уникальности вставляемых данных, на уровень БД. Если это по каким-то причинам не возможно, то можно попробовать такой вариант:
insert into users_groups_filling (user_id,user_group)
select :user_id,:user_group
where
NOT EXISTS (
SELECT id from users_groups_filling where user_id=:user_id and user_group=:user_group
)