http://www.postgresql.org/docs/9.0/static /sql-createtable.html i afsnittet "Ikke-udskudte Uniqueness Constraints" - "Når en UNIK eller PRIMÆR NØGLE-begrænsning ikke kan udskydes, kontrollerer PostgreSQL for unikhed med det samme, hver gang en række indsættes eller ændres."
Ændring af din unikke begrænsning til udskydningsbar vil udsætte kontrol indtil slutningen af opdateringen. Brug enten SET CONSTRAINTS til at deaktivere på sessionsniveauet (hvilket er irriterende gentagende) eller slip og genskab unikhedsbegrænsningen med den udskydbare mulighed (jeg kender ikke en ALTER-konstruktion til at gøre det uden at droppe).