Please keep the list cc'd so that others can help. Yinan Li wrote: > What version of Postgres are you using? > 8.2.4 > How much RAM does the box have? > 2G > How big is the table? > 256M tuples, each tuple contains 2 integers. > How long does the index build take? > About 2 hours > What kind of an I/O system do you have? > A SATA disk (7200 rpm) 2 hours does sound like a very long time. With a table like that, we're talking about ~7-9 GB worth of data if I did the math right. You could try lowering shared_buffers to something like 50 MB while you build the index, to leave more RAM available for OS caching. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match