From our
Postgres SQL FAQ:
There are two main reasons for this kind of error. The first is a result of data corruption from a computer crash that requires reindexing your database. You can reindex your database from the PostgreSQL command prompt. Click Start --> Programs --> PostgreSQL --> Command prompt. At the prompt that appears, type “reindexdb -a” and hit enter. Be aware that if you have large databases this may take a while, so be patient and wait for it to finish.
(If the re-index doesn't work because you are not logged in as user 'postgres' enter: "reindexdb -U postgres -a").
You will not see the password as you type so please input 'dbpass' and press enter when prompted for a password.
The second reason for this error is a result of faulty hardware. You can set PostgreSQL to ignore these errors by clicking Start --> Programs --> PostgreSQL --> Configuration Files --> Edit postgresql.conf. In the configuration file that appears, go to the bottom of the file and add the text “zero_damaged_pages = on” on a new line and then save and close the file. Click Start --> Programs --> PostgreSQL --> Reload Configuration and PostgreSQL will ignore the damaged data. If you continue to have problems with that hard drive, you should consider replacing it.
If you have trouble completing these steps just let us know.