If you are doing this, pay attention to the amount of dead tuples being accumulated over batches. We had to vaccuum analyze after each batch at least on one occasion where the index stopped being used by the query planner after a certain threshold of dead tuples. Even though there was no table lock, the performance hit made the application unusable from long running queries.
The following query will show dead tuple count for the table: select tuple_count, dead_tuple_count from pgstattuple('table_name');
The following query will show dead tuple count for the table: select tuple_count, dead_tuple_count from pgstattuple('table_name');