Я привык к MySQL, поэтому вам может потребоваться немного изменить синтаксис для postgres:
SELECT a.sec_id AS sec_id1, b.sec_id AS sec_id2, COUNT(*) AS overlap
FROM tblname AS a JOIN tblname AS b
WHERE a.prod_id = b.prod_id AND a.sec_id != b.sec_id
GROUP BY a.sec_id, b.sec_id
Возможно, это будет работать в PostgreSQL (как и в MySQL):
SELECT a.sec_id AS sec_id1, b.sec_id AS sec_id2, COUNT(*) AS overlap
FROM tblname AS a JOIN tblname AS b ON a.prod_id = b.prod_id
WHERE a.sec_id != b.sec_id
GROUP BY a.sec_id, b.sec_id