Nie jest obsługiwane patrzenie poza bieżący wiersz w ograniczeniu CHECK.
http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html mówi:
Ograniczenie sprawdzające określone jako ograniczenie dotyczące kolumny powinno odnosić się tylko do wartości tej kolumny, podczas gdy wyrażenie pojawiające się w ograniczeniu tabeli może odwoływać się do wielu kolumn.
Obecnie wyrażenia CHECK nie mogą zawierać podzapytań ani odwoływać się do zmiennych innych niż kolumny bieżącego wiersza.
Istnieją dobre powody dla tego ograniczenia, ale jeśli lubisz żonglować płonącymi pochodniami podczas jazdy monocyklem w dużym natężeniu ruchu, możesz znieść to ograniczenie za pomocą funkcji. Sytuacje, w których to nie wróć, aby ugryźć, jesteś rzadki; znacznie bezpieczniej byłoby zamiast tego wymusić niezmiennik w kodzie wyzwalacza.
http://www.postgresql.org/docs/9.1/interactive/triggers.html