Inserir ID inserido em outra tabela

Aqui está o cenário:

create table a (
 id serial primary key,
 val text
);

create table b (
 id serial primary key,
 a_id integer references a(id)
);

create rule a_inserted as on insert to a do also insert into b (a_id) values (new.id);

Estou tentando criar um registro nob referenciando aa na inserção paraa mesa. Mas o que eu ganho é quenew.id é nulo, pois é gerado automaticamente a partir de uma sequência. Eu também tentei um gatilhoAFTER inserirFOR EACH ROW, mas o resultado foi o mesmo. Alguma maneira de resolver isso?

questionAnswers(3)

yourAnswerToTheQuestion