Kristina,
If the two databases are in the same MySQL server then what you can do is:
INSERT INTO Database1.w3t_Posts (B_Board,B_Parent,B_Main,B_Posted,B_Last_Post,B_IP,B_Subject,B_Body,B_Kept,B_Status,B_Approved,B_Icon,B_Reged,B_Poll,B_Replies,B_Topic,B_Convert,B_PosterId,B_AnonName,B_Sticky,B_ParentUser)
SELECT B_Board,B_Parent,B_Main,B_Posted,B_Last_Post,B_IP,B_Subject,B_Body,B_Kept,B_Status,B_Approved,B_Icon,B_Reged,B_Poll,B_Replies,B_Topic,B_Convert,B_PosterId,B_AnonName,B_Sticky,B_ParentUser
FROM Database2.w3t_Posts
That will copy all the posts from one database/table to another. Now since you said that there are 150K records you will either need a tool like phpMyAdmin or direct shell access to your server.
The trick with moving posts and threads is that they are linked and you cannot just move one and get over with it, you will need to move its "children" i.e. the replies.
Also you might want to have a look at JoshPet's
Mass Threads Move modification to make your life easier. This modification will move the threads from one board to another for archiving but if you see it you might get a better understanding on what is needed to move posts.
Finally what you can do is take a mysqldump of the currend database, restore it somewhere else (another database) and then delete the old threads.
Loading all the posts in an array is not a good idea since you will grab all the resources from the server - for sure.
I hope this helps