Gatilho postgres , para mudar status

Pessoal, quero fazer um gatilho que toda vez que a data da carteira for maior e igual a data atual ele mude o status de Carteira Atvia, para Carteira Vencida…

alguém tem uma ideia como faz ?

-- Function: validade_escolta()

-- DROP FUNCTION validade_escolta();

CREATE OR REPLACE FUNCTION validade_escolta()
  RETURNS trigger AS
$BODY$
  BEGIN
    UPDATE carteira_escolta SET status = 'Carteira Vencida'
    WHERE data_validade <= NOW()::timestamp::date;
RETURN NULL;
  END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION validade_escolta()
  OWNER TO root;
GRANT EXECUTE ON FUNCTION validade_escolta() TO public;
GRANT EXECUTE ON FUNCTION validade_escolta() TO root;
COMMENT ON FUNCTION validade_escolta() IS 'Gatilho que dispara, quando a data atual for maior que a data do vencimento da carteira.';

Uma trigger responde a um determinado evento (geralmente DML: insert, update, delete).

Você quer que esse código seja executado com a mudança do tempo, não vai rolar.

Sugiro criar uma função, que receba a data como parâmetro e retorne o status atual.
Quando for fazer select, inclua a função nele.