Anda harus menggunakan predikat indeks untuk menggunakan indeks unik parsial. Baca di dokumentasi:
indeks_predikat
Digunakan untuk memungkinkan inferensi indeks unik parsial. Setiap indeks yang memenuhi predikat (yang sebenarnya tidak perlu indeks parsial) dapat disimpulkan. Mengikuti format CREATE INDEX.
Dalam hal ini:
INSERT INTO key_value_pair (key, value, is_active) VALUES ('temperature','20', false)
ON CONFLICT (key) WHERE is_active
DO UPDATE
SET value = '33', is_active = true;