On Mon, Jan 30, 2012 at 2:46 PM, Saurabh <saurabh.b85@xxxxxxxxx> wrote: > max_connections = 100 > shared_buffers = 32MB > wal_buffers = 1024KB > checkpoint_segments = 3 That's a default config isn't it? You'd do well to try and optimize it for your system. The defaults are really, reeallly conservative. You should also consider normalizing. I'm assuming company_name could be company_id ? (ie: each will have many rows). Otherwise I cannot see how you'd expect to be *constantly* inserting millions of rows. If it's a one-time initialization thing, just drop the indices and recreate them as you've been suggested. If you create new records all the time, I'd bet you'll also have many rows with the same company_name, so normalizing would be a clear win. -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance