B-tree Index Faults
Symptom
The following error message is displayed, indicating that the index is lost occasionally.
ERROR: index 'xxxx_index' contains unexpected zero page
Or
ERROR: index 'pg_xxxx_index' contains unexpected zero page
Or
ERROR: compressed data is corrupt
Cause Analysis
This type of error is caused by the index fault. The possible causes are as follows:
- The index is unavailable due to software bugs or hardware faults.
- The index contains many empty pages or almost empty pages.
- During concurrent DDL execution, the network is intermittently disconnected.
- The index failed to be created when indexes are concurrently created.
- A network fault occurs when a DDL or DML operation is performed.
Procedure
Run the REINDEX command to rebuild the index.
-
Log in to the host as the OS user omm.
-
Run the following command to connect to the database:
gsql -d postgres -p 8000 -r -
Rebuild the index.
-
During DDL or DML operations, if index problems occur due to software or hardware faults, run the following command to rebuild the index:
REINDEX TABLE tablename; -
If the error message contains xxxx_index, the index of a user table is faulty. xxxx indicates the name of the user table. Run either of the following commands to rebuild the index:
REINDEX INDEX indexname;Or
REINDEX TABLE tablename; -
If the error message contains pg_xxxx_index, the index of the system catalog is faulty. Run the following command to rebuild the index:
-
REINDEX SYSTEM databasename;