PostgreSQL DB Table Partitioning
===

I have a huge table in the PostgreSQL; let’s call it ‘Employee’.   Currently, the ‘Employee’ table has about 70 million records and is growing about 3.5 million a week.   Besides being huge and fast growing table, ‘Employee’ table is linked to the table ‘Address’.  Almost always I need to join these two tables to get the results.  Not the best experience.
Based on the research, we are planning to create a new, partitioned table and move all the records to it.
I am wondering what would be the best way to handle this kind of table.  I am thinking of partition the table by month (that would be about 13- 14 million records per partition) and create index on each partition.  Also, I am wondering if it would be a good idea to de-normalize these two tables into one, to eliminate the expensive joins.
Please let me know if my ideas are reasonable.  If there are better suggestions, I would greatly appreciate them.
Thanks.
