Postgres performance difference on insert
Very likely your problem is that you have an index on the source table which is making the first hits easy.  However at some point you are hitting rows that are not in the cache and so this is requiring a sudden increase in disk I/O accounting for the performance drop.  In essence suddenly you start missing the cache and so you end up having to read a bunch of things from disk again.