Postgres: Given some parent id's how can I SELECT X child records for each?
Assuming the "first" is defined through the id column in the child table, something like this should work:

select p.id, p.name, c.name
from parent p 
  join (
     select c.name, 
            c.parent_id, 
            row_number over (partition by c.parent_id order by c.id) as rn
     from child c
  ) ch
   on ch.parent_id = p.id 
  and ch.rn &lt;= 3
where p.id in (1,3,4);