Which System Catalogs That the VACUUM FULL Operation Cannot Be Performed on?
VACUUM FULL can be performed on all GaussDB(DWS) system catalogs. However, during the process, level 8 locks will be imposed on the system catalogs, and services involving these system catalogs will be blocked.
The suggestions are based on database versions:
8.1.3 and Later Versions
- For clusters of version 8.1.3 or later, AUTO VACUUM is enabled by default (controlled by the autovacuum parameter). After you set the parameter, the system automatically performs VACUUM FULL on all system catalogs and row-store tables.
- If the value of autovacuum_max_workers is 0, neither on the system catalogs nor on ordinary tables will VACUUM FULL be automatically performed.
- If autovacuum is set to off, VACUUM FULL will be automatically performed on ordinary tables, but not system catalogs.
- This applies only to row-store tables. To automatically trigger VACUUM for column-store tables, you need to configure intelligent scheduling tasks on the management console. For details, see O&M plan.
8.1.1 and Earlier Versions
- Reforming VACUUM FULL on the following system catalogs affects all services. Perform this operation in an idle time window or when services are stopped.
- pg_statistic (Statistics information. You are advised not to clear it because it affects service query performance.)
- pg_attribute
- pgxc_class
- pg_type
- pg_depend
- pg_class
- pg_index
- pg_proc
- pg_partition
- pg_object
- pg_shdepend
- The following system catalogs affect resource monitoring and table size query interfaces, but do not affect other services.
- gs_wlm_user_resource_history
- gs_wlm_session_info
- gs_wlm_instance_history
- gs_respool_resource_history
- pg_relfilenode_size
- Other system catalogs do not occupy space and do not need to be cleared.
- During routine O&M, you are advised to monitor the sizes of these system catalogs, and collect statistics every week. If the space must be reclaimed, clear the space based on the sizes of the system tables.
Database Usage FAQs
- How Do I Change Distribution Columns?
- How Do I View and Set the Database Character Encoding?
- What Do I Do If Date Type Is Automatically Converted to the Timestamp Type During Table Creation?
- Do I Need to Run VACUUM FULL and ANALYZE on Common Tables Periodically?
- Do I Need to Set a Distribution Key After Setting a Primary Key?
- Is GaussDB(DWS) Compatible with PostgreSQL Stored Procedures?
- What Are Partitioned Tables, Partitions, and Partition Keys?
- How Can I Export the Table Structure?
- How Do I Delete Table Data Efficiently?
- How Do I View Foreign Table Information?
- If No Distribution Column Is Specified, How Will Data Be Stored?
- How Do I Replace the Null Result with 0?
- How Do I Check Whether a Table Is Row-Stored or Column-Stored?
- How Do I Query the Information About GaussDB(DWS) Column-Store Tables?
- Why Sometimes the GaussDB(DWS) Query Indexes Become Invalid?
- How Do I Use a User-Defined Function to Rewrite the CRC32() Function?
- What Are the Schemas Starting with pg_toast_temp* or pg_temp*?
- Solutions to Inconsistent GaussDB(DWS) Query Results
- Which System Catalogs That the VACUUM FULL Operation Cannot Be Performed on?
- In Which Scenarios Would a Statement Be "idle in transaction"?
- How Does GaussDB(DWS) Implement Row-to-Column and Column-to-Row Conversion?
- What Are the Differences Between Unique Constraints and Unique Indexes?
- What Are the Differences Between Functions and Stored Procedures?
- How Do I Delete Duplicate Table Data?
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbotmore