Buscando documentar situações do dia a dia dos usuários do PostgreSQL, hoje vou demonstrar como listar os aniversariantes do mês.
Nosso primeiro passo será a criação da tabela, aqui representada pela tabela aniversariantes.
A tabela é para simples formalização do post, sendo que você poderá aplicar a SQL a ser apresentada na sua tabela de clientes, fornecedores e afins.
A estrutura da tabela:
CREATE TABLE paposql.aniversariantes
(
id_aniversariante bigint,
nome character(50),
dt_nascimento date
)
WITH (
OIDS = FALSE
);
Inserindo os registros:
Insert Into paposql.aniversariantes(id_aniversariante,nome,dt_nascimento)
Values(1,'Aniversariante 1','2012-01-01')
,(2,'Aniversariante 2','2012-02-01')
,(3,'Aniversariante 3','2012-03-01')
,(4,'Aniversariante 4','2012-04-01')
,(5,'Aniversariante 5','2012-05-01')
,(6,'Aniversariante 6','2012-06-01')
,(7,'Aniversariante 7','2012-07-01')
,(8,'Aniversariante 8','2012-08-01')
,(9,'Aniversariante 9','2012-09-01')
,(10,'Aniversariante 10','2012-10-01')
,(11,'Aniversariante 11','2012-11-01')
,(12,'Aniversariante 12','2012-12-01')
Com a tabela criada e alimentada, vamos extrair os aniversariantes do mês:
Select *
From paposql.aniversariantes
Where Extract(Month From dt_nascimento) = Extract(Month From Now())
Pronto, a consulta retorna o aniversariante do mês atual, isto porque na cláusula where determino que o mês da data de aniversario deve ser igual ao mês da minha data atual.
Com a função listamos os aniversariantes, agora se além disto você deseja saber a idade, veja este outro post.
Fico por aqui, esperando mais uma vez ter sido útil, um grande abraço e até a próxima.

Muito bom fera, gracias!
Excelente!
Estava procurando esse filtro.
Obrigado.
gostaria de saber como consulta por exemplo os 20 proximos aniversariantes.
cheguei a fazer uma consulta, porém quando chega no ultimo dia do mes ele não aparece do mes seguinte
Olá, Fabio.
Você pode mudar seu SQL aplicando uma ordem de quantos dias faltam para o aniversário e limitar na quantidade que deseja.
Fiz um exemplo pra ti, dá uma olhada: http://sqlfiddle.com/#!17/669a1c/7
Espero ter ajudado, grande abraço.