PL / pgSQL verificando se existe uma linha

Estou escrevendo uma função em PL / pgSQL, e estou procurando a maneira mais simples de verificar se existe uma linha.
Agora estou SELECIONANDO uminteger dentro deboolean, o que realmente não funciona. Eu ainda não tenho experiência com PL / pgSQL para saber a melhor maneira de fazer isso.

Aqui está parte da minha função:

DECLARE person_exists boolean;
BEGIN

person_exists := FALSE;

SELECT "person_id" INTO person_exists
  FROM "people" p
WHERE p.person_id = my_person_id
LIMIT 1;

IF person_exists THEN
  -- Do something
END IF;

END; $ LANGUAGE plpgsql;

Atualizar - Eu estou fazendo algo assim por agora:

DECLARE person_exists integer;
BEGIN

person_exists := 0;

SELECT count("person_id") INTO person_exists
  FROM "people" p
WHERE p.person_id = my_person_id
LIMIT 1;

IF person_exists < 1 THEN
  -- Do something
END IF;

questionAnswers(2)

yourAnswerToTheQuestion