telah dikatakan bahwa PG tidak mendefinisikan batasan UNIK parsial (yaitu bersyarat). Dokumentasi juga mengatakan bahwa cara yang disukai untuk menambahkan batasan unik ke tabel adalah ADD CONSTRAINT
Indeks Unik
Cara yang disukai untuk menambahkan batasan unik ke tabel adalah ALTER TABLE ... ADD CONSTRAINT. Penggunaan indeks untuk memberlakukan batasan unik dapat dianggap sebagai detail implementasi yang tidak boleh diakses secara langsung. Namun, orang harus menyadari bahwa tidak perlu membuat indeks secara manual pada kolom unik; melakukannya hanya akan menduplikasi indeks yang dibuat secara otomatis.
Ada cara untuk mengimplementasikannya menggunakan Exclusion Constraints , (terima kasih @dukelion untuk solusi ini)
Dalam kasus Anda, itu akan terlihat seperti
ALTER TABLE stop ADD CONSTRAINT myc EXCLUDE (col_a WITH =) WHERE (col_b IS null);