Je n'ai pas Postgresql sous la main, alors je ne peux pas garantir le résultat, mais un truc dans ce genre devrait faire ce que tu veux :
DECLARE
n INTEGER := 1000;
age INTEGER;
nom VARCHAR;
prenom VARCHAR;
BEGIN
LOOP
age := random() * 100;
nom := 'DUCON'||to_char(age,'999';
prenom := 'LAJOIE'||to_char(age,'999';
INSERT INTO MA_TABLE VALUES( nom, prenom, age);
n := n - 1;
IF n = 0 THEN
EXIT;
END IF;
END LOOP;
END;
---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.