http://www.postgresql.org/docs/9.0/static /sql-createtable.html i avsnittet "Icke-uppskjutna Uniqueness Constraints" - "När en UNIK eller PRIMÄR KEY-begränsning inte kan skjutas upp, kontrollerar PostgreSQL efter unikhet omedelbart när en rad infogas eller ändras."
Om du ändrar din unika begränsning till uppskjutbar kommer du att vänta tills uppdateringen är slut. Använd antingen SET CONSTRAINTS för att inaktivera på sessionsnivå (vilket är irriterande repetitivt) eller släpp och återskapa unikhetsbegränsningen med det uppskjutbara alternativet (jag är inte medveten om en ALTER-konstruktion för att göra det utan att tappa).