Není podporováno dívat se za aktuální řádek v podmínce CHECK.
http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html říká:
Kontrolní omezení zadané jako omezení sloupce by mělo odkazovat pouze na hodnotu tohoto sloupce, zatímco výraz objevující se v omezení tabulky může odkazovat na více sloupců.
V současné době nemohou výrazy CHECK obsahovat poddotazy ani odkazovat jiné položky než sloupce aktuálního řádku.
Pro toto omezení existují dobré důvody, ale pokud rádi žonglujete s hořící pochodněmi při jízdě na jednokolce v hustém provozu, můžete omezení zvrátit pomocí funkcí. Situace, ve kterých to nebude vrať se kousnout jsi vzácný; bylo by mnohem bezpečnější místo toho vynutit invariant ve spouštěcím kódu.
http://www.postgresql.org/docs/9.1/interactive/triggers.html