уже было сказано, что PG не определяет частичное (т.е. условное) ограничение UNIQUE. Также в документации говорится, что предпочтительный способ добавления уникального ограничения в таблицу - ADD CONSTRAINT
Уникальные индексы.
Предпочтительный способ добавить уникальное ограничение к таблице - ALTER TABLE ... ADD CONSTRAINT. Использование индексов для обеспечения уникальных ограничений можно рассматривать как деталь реализации, к которой не следует обращаться напрямую. Однако следует помнить, что нет необходимости вручную создавать индексы для уникальных столбцов; это просто дублирует автоматически созданный индекс.
Есть способ реализовать это с помощью ограничений исключения (спасибо @dukelion за это решение)
В вашем случае это будет выглядеть так
ALTER TABLE stop ADD CONSTRAINT myc EXCLUDE (col_a WITH =) WHERE (col_b IS null);