Sie müssen ein Indexprädikat verwenden, um einen partiellen eindeutigen Index zu verwenden. Lesen Sie die Dokumentation ein:
index_predicate
Wird verwendet, um Rückschlüsse auf teilweise eindeutige Indizes zu ermöglichen. Alle Indizes, die das Prädikat erfüllen (die eigentlich keine Teilindizes sein müssen), können abgeleitet werden. Folgt dem CREATE INDEX-Format.
In diesem Fall:
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;