Marinos, > shared_buffers=100000 > (I tried many values, this seems to work well for us - 12GB RAM) > wal_buffers=500 > sort_mem=800000 > checkpoint_segments=16 > effective_cache_size=1000000 > etc.
800MB for sort mem? Are you sure you typed that correctly? You must be counting on not having a lot of concurrent queries. It sure will speed up index updating, though! I think you might do well to experiment with using the checkpoint_delay and checkpoint_sibilings settings in order to get more efficient batch processing of updates while selects are going on. I would also suggest increasing checkpoint segments as much as your disk space will allow; I know one reporting database I run that does batch loads is using 128 (which is about a gig of disk, I think). What have you set max_fsm_relations and max_fsm_pages to? The latter should be very high for you, like 10,000,000 For that matter, what *version* of PostgreSQL are you running? Also, make sure that your tables get vaccuumed regularly. > Any help/suggestions would be greatly appreciated... Even if it's > something like "you need a faster db box, there's no other way" ;-) Well, a battery-backed RAID controller with a fast cache would certainly help. You'll also be glad to know that a *lot* of the improvements in the upcoming PostgreSQL 7.5 are aimed at giving better peformance on large, high-activity databases like yours. -- -Josh Berkus Aglio Database Solutions San Francisco ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend