Exclusion constraint
Generaliseringen av unikhet: istället för att kräva att två rader inte har samma värde kan man kräva att de inte överlappar, korsar eller ligger för nära varandra.
Ett unikt index är specialfallet där operatorn råkar vara likhet. PostgreSQL låter en istället välja vilken operator som helst som indexet stödjer, vilket öppnar för villkor som annars är omöjliga att uttrycka deklarativt. Skolexemplet är bokningar: EXCLUDE USING gist (rum WITH =, tid WITH &&) säger att inga två rader får ha samma rum och samtidigt överlappande tidsintervall. Alternativet i applikationen är att först fråga om tiden är ledig och sedan skriva, vilket är ett kapplöpningsfel som väntar på tillräcklig trafik för att inträffa. För att blanda likhet på vanliga kolumner med överlappning på intervall behövs tillägget btree_gist.