Restricción de verificación diferible en PostgreSQL
Tengo función de comprobación obligatoria de la participación de la siguiente manera
CREATE FUNCTION member_in_has_address()
RETURNS BOOLEAN AS $
BEGIN
RETURN EXISTS (SELECT *
FROM address a, member_details b
WHERE b.member_id = a.member_id);
END;
$ LANGUAGE plpgsql;
Entonces llamado desde la restricción CHECK
ALTER TABLE member_details
ADD CONSTRAINT member_in_has_address_check
CHECK (member_in_has_address());
Para crear una restricción definible en SQL estándar sería:
ALTER TABLE member_details
ADD CONSTRAINT member_in_has_address_check
INITIALLY DEFERRED
CHECK (member_in_has_address());
¿Cómo puedo hacer lo mismo en PostgreSQL?