Hello lætitia,
My 0.02 € to try to simplify the suggested documentation.
Check constraint were not
are not
designed to enforce business rules across tables.
Avoid using check constraints with function accessing to other tables
accessing other tables (no "to")
and prefer triggers instead (please refer to <xref linkend="triggers"/> for more information about triggers).
... and use <xref linkend="triggers"/> instead.
PostgreSQL won't prevent you from doing so,
Although PostgreSQL ... so,
but be aware you might encounter difficulties to restore dumps (generated with pg_dump or pg_dumpall) if you do.
beware that dumps generated by <application>pg_*<...> or <...> may be hard to restore because of such checks, as the underlying dependencies are not taken into account.
-- Fabien.