I fixed it. I had to back up and restore table “wp_posts” separately after I restored from full database backup. Just after I restored table “wp_posts”, all the contents in my posts and pages were back.
I think the problem is within the database back up management interface iPage provides. Somehow when I chose to back up the whole database, it didn’t back up table “wp_posts” correctly. The field “post_content(LONGTEXT)” in the table lost 90% of the content. When I backed up this table separately, the back up and restore worked much better.