- About MogDB
- Quick Start
- MogDB Playground
- Container-based MogDB Installation
- Installation on a Single Node
- MogDB Access
- Use CLI to Access MogDB
- Use GUI to Access MogDB
- Use Middleware to Access MogDB
- Use Programming Language to Access MogDB
- Using Sample Dataset Mogila
- Characteristic Description
- Overview
- High Performance
- High Availability (HA)
- Primary/Standby
- Logical Replication
- Online Node Replacement
- Logical Backup
- Physical Backup
- Automatic Job Retry upon Failure
- Ultimate RTO
- Cascaded Standby Server
- Delayed Replay
- Adding or Deleting a Standby Server
- Delaying Entering the Maximum Availability Mode
- Parallel Logical Decoding
- DCF
- CM
- Global SysCache
- Using a Standby Node to Build a Standby Node
- Maintainability
- Database Security
- Access Control Model
- Separation of Control and Access Permissions
- Database Encryption Authentication
- Data Encryption and Storage
- Database Audit
- Network Communication Security
- Resource Label
- Unified Audit
- Dynamic Data Anonymization
- Row-Level Access Control
- Password Strength Verification
- Equality Query in a Fully-encrypted Database
- Ledger Database Mechanism
- Transparent Data Encryption
- Enterprise-Level Features
- Support for Functions and Stored Procedures
- SQL Hints
- Full-Text Indexing
- Copy Interface for Error Tolerance
- Partitioning
- Support for Advanced Analysis Functions
- Materialized View
- HyperLogLog
- Creating an Index Online
- Autonomous Transaction
- Global Temporary Table
- Pseudocolumn ROWNUM
- Stored Procedure Debugging
- JDBC Client Load Balancing and Read/Write Isolation
- In-place Update Storage Engine
- Publication-Subscription
- Foreign Key Lock Enhancement
- Data Compression in OLTP Scenarios
- Transaction Async Submit
- Index Creation Parallel Control
- Dynamic Partition Pruning
- COPY Import Optimization
- SQL Running Status Observation
- BRIN Index
- BLOOM Index
- Application Development Interfaces
- AI Capabilities
- Middleware
- Installation Guide
- Installation Preparation
- Container Installation
- PTK-based Installation
- OM-based Installation
- Manual Installation
- Recommended Parameter Settings
- Administrator Guide
- Localization
- Routine Maintenance
- Starting and Stopping MogDB
- Using the gsql Client for Connection
- Routine Maintenance
- Checking OS Parameters
- Checking MogDB Health Status
- Checking Database Performance
- Checking and Deleting Logs
- Checking Time Consistency
- Checking The Number of Application Connections
- Routinely Maintaining Tables
- Routinely Recreating an Index
- Data Security Maintenance Suggestions
- Slow SQL Diagnosis
- Log Reference
- Primary and Standby Management
- MOT Engine
- Introducing MOT
- Using MOT
- Concepts of MOT
- Appendix
- Column-store Tables Management
- Backup and Restoration
- Importing and Exporting Data
- Importing Data
- Exporting Data
- Upgrade Guide
- AI Features Guide
- AI Features Overview
- AI4DB: Autonomous Database O&M
- DBMind Mode
- Components that Support DBMind
- AI Sub-functions of the DBMind
- X-Tuner: Parameter Tuning and Diagnosis
- Index-advisor: Index Recommendation
- AI4DB: Root Cause Analysis for Slow SQL Statements
- AI4DB: Trend Prediction
- SQLdiag: Slow SQL Discovery
- DB4AI: Database-driven AI
- AI in DB
- Intelligence Explain: SQL Statement Query Time Prediction
- Security Guide
- Developer Guide
- Application Development Guide
- Development Specifications
- Development Based on JDBC
- Overview
- JDBC Package, Driver Class, and Environment Class
- Development Process
- Loading the Driver
- Connecting to a Database
- Connecting to the Database (Using SSL)
- Running SQL Statements
- Processing Data in a Result Set
- Closing a Connection
- Managing Logs
- Example: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Importing and Exporting Data Through Local Files
- Example 2: Migrating Data from a MY Database to MogDB
- Example: Logic Replication Code
- Example: Parameters for Connecting to the Database in Different Scenarios
- JDBC API Reference
- java.sql.Connection
- java.sql.CallableStatement
- java.sql.DatabaseMetaData
- java.sql.Driver
- java.sql.PreparedStatement
- java.sql.ResultSet
- java.sql.ResultSetMetaData
- java.sql.Statement
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.PooledConnection
- javax.naming.Context
- javax.naming.spi.InitialContextFactory
- CopyManager
- Development Based on ODBC
- Development Based on libpq
- Dependent Header Files of libpq
- Development Process
- Example
- Link Parameters
- libpq API Reference
- Database Connection Control Functions
- Database Statement Execution Functions
- Functions for Asynchronous Command Processing
- Functions for Canceling Queries in Progress
- Psycopg-Based Development
- Commissioning
- Stored Procedure
- User Defined Functions
- PL/pgSQL-SQL Procedural Language
- Scheduled Jobs
- Autonomous Transaction
- Logical Replication
- Foreign Data Wrapper
- Materialized View
- Materialized View Overview
- Full Materialized View
- Incremental Materialized View
- Partition Management
- Partition Pruning
- Recommendations For Choosing A Partitioning Strategy
- Application Development Guide
- Performance Tuning Guide
- System Optimization
- SQL Optimization
- WDR Snapshot
- Using the Vectorized Executor for Tuning
- TPC-C Performance Tunning Guide
- Reference Guide
- System Catalogs and System Views
- Overview of System Catalogs and System Views
- System Catalogs
- GS_ASP
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_CLIENT_GLOBAL_KEYS
- GS_CLIENT_GLOBAL_KEYS_ARGS
- GS_COLUMN_KEYS
- GS_COLUMN_KEYS_ARGS
- GS_DB_PRIVILEGE
- GS_ENCRYPTED_COLUMNS
- GS_ENCRYPTED_PROC
- GS_GLOBAL_CHAIN
- GS_GLOBAL_CONFIG
- GS_MASKING_POLICY
- GS_MASKING_POLICY_ACTIONS
- GS_MASKING_POLICY_FILTERS
- GS_MATVIEW
- GS_MATVIEW_DEPENDENCY
- GS_MODEL_WAREHOUSE
- GS_OPT_MODEL
- GS_PACKAGE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WLM_EC_OPERATOR_INFO
- GS_WLM_INSTANCE_HISTORY
- GS_WLM_OPERATOR_INFO
- GS_WLM_PLAN_ENCODING_TABLE
- GS_WLM_PLAN_OPERATOR_INFO
- GS_WLM_SESSION_QUERY_INFO_ALL
- GS_WLM_USER_RESOURCE_HISTORY
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_APP_WORKLOADGROUP_MAPPING
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- PG_AUTHID
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DB_ROLE_SETTING
- PG_DEFAULT_ACL
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_EXTENSION
- PG_EXTENSION_DATA_SOURCE
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_PUBLICATION
- PG_PUBLICATION_REL
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_RLSPOLICY
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SUBSCRIPTION
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PG_USER_MAPPING
- PG_USER_STATUS
- PG_WORKLOAD_GROUP
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- System Views
- DV_SESSION_LONGOPS
- DV_SESSIONS
- GET_GLOBAL_PREPARED_XACTS(Discarded)
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_ASYNC_SUBMIT_SESSIONS_STATUS
- GS_CLUSTER_RESOURCE_INFO
- GS_DB_PRIVILEGES
- GS_FILE_STAT
- GS_GSC_MEMORY_DETAIL
- GS_INSTANCE_TIME
- GS_LABELS
- GS_LSC_MEMORY_DETAIL
- GS_MASKING
- GS_MATVIEWS
- GS_OS_RUN_INFO
- GS_REDO_STAT
- GS_SESSION_CPU_STATISTICS
- GS_SESSION_MEMORY
- GS_SESSION_MEMORY_CONTEXT
- GS_SESSION_MEMORY_DETAIL
- GS_SESSION_MEMORY_STATISTICS
- GS_SESSION_STAT
- GS_SESSION_TIME
- GS_SQL_COUNT
- GS_STAT_SESSION_CU
- GS_THREAD_MEMORY_CONTEXT
- GS_TOTAL_MEMORY_DETAIL
- GS_WLM_CGROUP_INFO
- GS_WLM_EC_OPERATOR_STATISTICS
- GS_WLM_OPERATOR_HISTORY
- GS_WLM_OPERATOR_STATISTICS
- GS_WLM_PLAN_OPERATOR_HISTORY
- GS_WLM_REBUILD_USER_RESOURCE_POOL
- GS_WLM_RESOURCE_POOL
- GS_WLM_SESSION_HISTORY
- GS_WLM_SESSION_INFO
- GS_WLM_SESSION_INFO_ALL
- GS_WLM_SESSION_STATISTICS
- GS_WLM_USER_INFO
- GS_WRITE_TERM_LOG
- MPP_TABLES
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_COMM_DELAY
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_STATUS
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_GTT_ATTACHED_PIDS
- PG_GTT_RELSTATS
- PG_GTT_STATS
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_PUBLICATION_TABLES
- PG_REPLICATION_ORIGIN_STATUS
- PG_REPLICATION_SLOTS
- PG_RLSPOLICIES
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SESSION_IOSTAT
- PG_SESSION_WLMSTAT
- PG_SETTINGS
- PG_SHADOW
- PG_STAT_ACTIVITY
- PG_STAT_ACTIVITY_NG
- PG_STAT_ALL_INDEXES
- PG_STAT_ALL_TABLES
- PG_STAT_BAD_BLOCK
- PG_STAT_BGWRITER
- PG_STAT_DATABASE
- PG_STAT_DATABASE_CONFLICTS
- PG_STAT_REPLICATION
- PG_STAT_SUBSCRIPTION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_TABLES
- PG_STAT_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_XACT_ALL_TABLES
- PG_STAT_XACT_SYS_TABLES
- PG_STAT_XACT_USER_FUNCTIONS
- PG_STAT_XACT_USER_TABLES
- PG_STATIO_ALL_INDEXES
- PG_STATIO_ALL_SEQUENCES
- PG_STATIO_ALL_TABLES
- PG_STATIO_SYS_INDEXES
- PG_STATIO_SYS_SEQUENCES
- PG_STATIO_SYS_TABLES
- PG_STATIO_USER_INDEXES
- PG_STATIO_USER_SEQUENCES
- PG_STATIO_USER_TABLES
- PG_STATS
- PG_TABLES
- PG_TDE_INFO
- PG_THREAD_WAIT_STATUS
- PG_TIMEZONE_ABBREVS
- PG_TIMEZONE_NAMES
- PG_TOTAL_MEMORY_DETAIL
- PG_TOTAL_USER_RESOURCE_INFO
- PG_TOTAL_USER_RESOURCE_INFO_OID
- PG_USER
- PG_USER_MAPPINGS
- PG_VARIABLE_INFO
- PG_VIEWS
- PG_WLM_STATISTICS
- PGXC_PREPARED_XACTS
- PLAN_TABLE
- Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Mode Matching Operators
- Mathematical Functions and Operators
- Date and Time Processing Functions and Operators
- Type Conversion Functions
- Geometric Functions and Operators
- Network Address Functions and Operators
- Text Search Functions and Operators
- JSON/JSONB Functions and Operators
- HLL Functions and Operators
- SEQUENCE Functions
- Array Functions and Operators
- Range Functions and Operators
- Aggregate Functions
- Window Functions(Analysis Functions)
- Security Functions
- Ledger Database Functions
- Encrypted Equality Functions
- Set Returning Functions
- Conditional Expression Functions
- System Information Functions
- System Administration Functions
- Configuration Settings Functions
- Universal File Access Functions
- Server Signal Functions
- Backup and Restoration Control Functions
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Logical Replication Functions
- Segment-Page Storage Functions
- Other Functions
- Undo System Functions
- Statistics Information Functions
- Trigger Functions
- Hash Function
- Prompt Message Function
- Global Temporary Table Functions
- Fault Injection System Function
- AI Feature Functions
- Dynamic Data Masking Functions
- Other System Functions
- Internal Functions
- Global SysCache Feature Functions
- Data Damage Detection and Repair Functions
- Obsolete Functions
- Supported Data Types
- Numeric Types
- Monetary Types
- Boolean Types
- Enumerated Types
- Character Types
- Binary Types
- Date/Time Types
- Geometric
- Network Address Types
- Bit String Types
- Text Search Types
- UUID
- JSON/JSONB Types
- HLL
- Array Types
- Range
- OID Types
- Pseudo-Types
- Data Types Supported by Column-store Tables
- XML Types
- Data Type Used by the Ledger Database
- SQL Syntax
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER DATABASE
- ALTER DATA SOURCE
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER EXTENSION
- ALTER FOREIGN TABLE
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER LARGE OBJECT
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER PACKAGE
- ALTER PROCEDURE
- ALTER PUBLICATION
- ALTER RESOURCE LABEL
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER RULE
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SUBSCRIPTION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER SYSTEM SET
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLE SUBPARTITION
- ALTER TABLESPACE
- ALTER TEXT SEARCH CONFIGURATION
- ALTER TEXT SEARCH DICTIONARY
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER USER MAPPING
- ALTER VIEW
- ANALYZE | ANALYSE
- BEGIN
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- CONNECT BY
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE CAST
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE DATABASE
- CREATE DATA SOURCE
- CREATE DIRECTORY
- CREATE EXTENSION
- CREATE FOREIGN TABLE
- CREATE FUNCTION
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE OPERATOR
- CREATE PACKAGE
- CREATE PROCEDURE
- CREATE PUBLICATION
- CREATE RESOURCE LABEL
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE RULE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SUBSCRIPTION
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLE SUBPARTITION
- CREATE TABLESPACE
- CREATE TEXT SEARCH CONFIGURATION
- CREATE TEXT SEARCH DICTIONARY
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE USER MAPPING
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AGGREGATE
- DROP AUDIT POLICY
- DROP CAST
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATA SOURCE
- DROP DIRECTORY
- DROP EXTENSION
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP MODEL
- DROP OPERATOR
- DROP OWNED
- DROP PACKAGE
- DROP PROCEDURE
- DROP PUBLICATION
- DROP RESOURCE LABEL
- DROP RESOURCE POOL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP RULE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SUBSCRIPTION
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TEXT SEARCH CONFIGURATION
- DROP TEXT SEARCH DICTIONARY
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP USER MAPPING
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- EXECUTE
- EXECUTE DIRECT
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- INSERT
- LOCK
- MERGE INTO
- MOVE
- PREDICT BY
- PREPARE
- PREPARE TRANSACTION
- PURGE
- REASSIGN OWNED
- REFRESH INCREMENTAL MATERIALIZED VIEW
- REFRESH MATERIALIZED VIEW
- REINDEX
- RELEASE SAVEPOINT
- RESET
- REVOKE
- ROLLBACK
- ROLLBACK PREPARED
- ROLLBACK TO SAVEPOINT
- SAVEPOINT
- SELECT
- SELECT INTO
- SET
- SET CONSTRAINTS
- SET ROLE
- SET SESSION AUTHORIZATION
- SET TRANSACTION
- SHOW
- SHUTDOWN
- SNAPSHOT
- START TRANSACTION
- TIMECAPSULE TABLE
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- SQL Reference
- MogDB SQL
- Keywords
- Constant and Macro
- Expressions
- Type Conversion
- Full Text Search
- Introduction
- Tables and Indexes
- Controlling Text Search
- Additional Features
- Parser
- Dictionaries
- Configuration Examples
- Testing and Debugging Text Search
- Limitations
- System Operation
- Controlling Transactions
- DDL Syntax Overview
- DML Syntax Overview
- DCL Syntax Overview
- Appendix
- GUC Parameters
- GUC Parameter Usage
- GUC Parameter List
- File Location
- Connection and Authentication
- Resource Consumption
- Write Ahead Log
- HA Replication
- Memory Table
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Load Management
- Automatic Vacuuming
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Faut Tolerance
- Connection Pool Parameters
- MogDB Transaction
- Developer Options
- Auditing
- SQL Mode
- Upgrade Parameters
- Miscellaneous Parameters
- Wait Events
- Query
- System Performance Snapshot
- Security Configuration
- Global Temporary Table
- HyperLogLog
- Scheduled Task
- Thread Pool
- User-defined Functions
- Backup and Restoration
- DCF Parameters Settings
- Flashback
- Rollback Parameters
- Reserved Parameters
- AI Features
- Global SysCache Parameters
- Appendix
- Schema
- Information Schema
- DBE_PERF
- Overview
- OS
- Instance
- Memory
- File
- Object
- STAT_USER_TABLES
- SUMMARY_STAT_USER_TABLES
- GLOBAL_STAT_USER_TABLES
- STAT_USER_INDEXES
- SUMMARY_STAT_USER_INDEXES
- GLOBAL_STAT_USER_INDEXES
- STAT_SYS_TABLES
- SUMMARY_STAT_SYS_TABLES
- GLOBAL_STAT_SYS_TABLES
- STAT_SYS_INDEXES
- SUMMARY_STAT_SYS_INDEXES
- GLOBAL_STAT_SYS_INDEXES
- STAT_ALL_TABLES
- SUMMARY_STAT_ALL_TABLES
- GLOBAL_STAT_ALL_TABLES
- STAT_ALL_INDEXES
- SUMMARY_STAT_ALL_INDEXES
- GLOBAL_STAT_ALL_INDEXES
- STAT_DATABASE
- SUMMARY_STAT_DATABASE
- GLOBAL_STAT_DATABASE
- STAT_DATABASE_CONFLICTS
- SUMMARY_STAT_DATABASE_CONFLICTS
- GLOBAL_STAT_DATABASE_CONFLICTS
- STAT_XACT_ALL_TABLES
- SUMMARY_STAT_XACT_ALL_TABLES
- GLOBAL_STAT_XACT_ALL_TABLES
- STAT_XACT_SYS_TABLES
- SUMMARY_STAT_XACT_SYS_TABLES
- GLOBAL_STAT_XACT_SYS_TABLES
- STAT_XACT_USER_TABLES
- SUMMARY_STAT_XACT_USER_TABLES
- GLOBAL_STAT_XACT_USER_TABLES
- STAT_XACT_USER_FUNCTIONS
- SUMMARY_STAT_XACT_USER_FUNCTIONS
- GLOBAL_STAT_XACT_USER_FUNCTIONS
- STAT_BAD_BLOCK
- SUMMARY_STAT_BAD_BLOCK
- GLOBAL_STAT_BAD_BLOCK
- STAT_USER_FUNCTIONS
- SUMMARY_STAT_USER_FUNCTIONS
- GLOBAL_STAT_USER_FUNCTIONS
- Workload
- Session/Thread
- SESSION_STAT
- GLOBAL_SESSION_STAT
- SESSION_TIME
- GLOBAL_SESSION_TIME
- SESSION_MEMORY
- GLOBAL_SESSION_MEMORY
- SESSION_MEMORY_DETAIL
- GLOBAL_SESSION_MEMORY_DETAIL
- SESSION_STAT_ACTIVITY
- GLOBAL_SESSION_STAT_ACTIVITY
- THREAD_WAIT_STATUS
- GLOBAL_THREAD_WAIT_STATUS
- LOCAL_THREADPOOL_STATUS
- GLOBAL_THREADPOOL_STATUS
- SESSION_CPU_RUNTIME
- SESSION_MEMORY_RUNTIME
- STATEMENT_IOSTAT_COMPLEX_RUNTIME
- LOCAL_ACTIVE_SESSION
- Transaction
- Query
- STATEMENT
- SUMMARY_STATEMENT
- STATEMENT_COUNT
- GLOBAL_STATEMENT_COUNT
- SUMMARY_STATEMENT_COUNT
- GLOBAL_STATEMENT_COMPLEX_HISTORY
- GLOBAL_STATEMENT_COMPLEX_HISTORY_TABLE
- GLOBAL_STATEMENT_COMPLEX_RUNTIME
- STATEMENT_RESPONSETIME_PERCENTILE
- STATEMENT_USER_COMPLEX_HISTORY
- STATEMENT_COMPLEX_RUNTIME
- STATEMENT_COMPLEX_HISTORY_TABLE
- STATEMENT_COMPLEX_HISTORY
- STATEMENT_WLMSTAT_COMPLEX_RUNTIME
- STATEMENT_HISTORY
- Cache/IO
- STATIO_USER_TABLES
- SUMMARY_STATIO_USER_TABLES
- GLOBAL_STATIO_USER_TABLES
- STATIO_USER_INDEXES
- SUMMARY_STATIO_USER_INDEXES
- GLOBAL_STATIO_USER_INDEXES
- STATIO_USER_SEQUENCES
- SUMMARY_STATIO_USER_SEQUENCES
- GLOBAL_STATIO_USER_SEQUENCES
- STATIO_SYS_TABLES
- SUMMARY_STATIO_SYS_TABLES
- GLOBAL_STATIO_SYS_TABLES
- STATIO_SYS_INDEXES
- SUMMARY_STATIO_SYS_INDEXES
- GLOBAL_STATIO_SYS_INDEXES
- STATIO_SYS_SEQUENCES
- SUMMARY_STATIO_SYS_SEQUENCES
- GLOBAL_STATIO_SYS_SEQUENCES
- STATIO_ALL_TABLES
- SUMMARY_STATIO_ALL_TABLES
- GLOBAL_STATIO_ALL_TABLES
- STATIO_ALL_INDEXES
- SUMMARY_STATIO_ALL_INDEXES
- GLOBAL_STATIO_ALL_INDEXES
- STATIO_ALL_SEQUENCES
- SUMMARY_STATIO_ALL_SEQUENCES
- GLOBAL_STATIO_ALL_SEQUENCES
- GLOBAL_STAT_DB_CU
- GLOBAL_STAT_SESSION_CU
- Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_RECORD_RESET_TIME
- GLOBAL_REDO_STATUS
- GLOBAL_RECOVERY_STATUS
- CLASS_VITAL_INFO
- USER_LOGIN
- SUMMARY_USER_LOGIN
- GLOBAL_GET_BGWRITER_STATUS
- GLOBAL_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO
- DBE_PLDEBUGGER Schema
- Overview
- DBE_PLDEBUGGER.turn_on
- DBE_PLDEBUGGER.turn_off
- DBE_PLDEBUGGER.local_debug_server_info
- DBE_PLDEBUGGER.attach
- DBE_PLDEBUGGER.info_locals
- DBE_PLDEBUGGER.next
- DBE_PLDEBUGGER.continue
- DBE_PLDEBUGGER.abort
- DBE_PLDEBUGGER.print_var
- DBE_PLDEBUGGER.info_code
- DBE_PLDEBUGGER.step
- DBE_PLDEBUGGER.add_breakpoint
- DBE_PLDEBUGGER.delete_breakpoint
- DBE_PLDEBUGGER.info_breakpoints
- DBE_PLDEBUGGER.backtrace
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.enable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DB4AI Schema
- DBE_PLDEVELOPER
- Tool Reference
- Tool Overview
- Client Tool
- Server Tools
- Tools Used in the Internal System
- mogdb
- gs_backup
- gs_basebackup
- gs_ctl
- gs_initdb
- gs_install
- gs_install_plugin
- gs_install_plugin_local
- gs_preinstall
- gs_sshexkey
- gs_tar
- gs_uninstall
- gs_upgradectl
- gs_expansion
- gs_dropnode
- gs_probackup
- gstrace
- kdb5_util
- kadmin.local
- kinit
- klist
- krb5kdc
- kdestroy
- pg_config
- pg_controldata
- pg_recvlogical
- pg_resetxlog
- pg_archivecleanup
- pssh
- pscp
- transfer.py
- Unified Database Management Tool
- FAQ
- Functions of MogDB Executable Scripts
- System Catalogs and Views Supported by gs_collector
- Extension Reference
- Error Code Reference
- Description of SQL Error Codes
- Third-Party Library Error Codes
- GAUSS-00001 - GAUSS-00100
- GAUSS-00101 - GAUSS-00200
- GAUSS 00201 - GAUSS 00300
- GAUSS 00301 - GAUSS 00400
- GAUSS 00401 - GAUSS 00500
- GAUSS 00501 - GAUSS 00600
- GAUSS 00601 - GAUSS 00700
- GAUSS 00701 - GAUSS 00800
- GAUSS 00801 - GAUSS 00900
- GAUSS 00901 - GAUSS 01000
- GAUSS 01001 - GAUSS 01100
- GAUSS 01101 - GAUSS 01200
- GAUSS 01201 - GAUSS 01300
- GAUSS 01301 - GAUSS 01400
- GAUSS 01401 - GAUSS 01500
- GAUSS 01501 - GAUSS 01600
- GAUSS 01601 - GAUSS 01700
- GAUSS 01701 - GAUSS 01800
- GAUSS 01801 - GAUSS 01900
- GAUSS 01901 - GAUSS 02000
- GAUSS 02001 - GAUSS 02100
- GAUSS 02101 - GAUSS 02200
- GAUSS 02201 - GAUSS 02300
- GAUSS 02301 - GAUSS 02400
- GAUSS 02401 - GAUSS 02500
- GAUSS 02501 - GAUSS 02600
- GAUSS 02601 - GAUSS 02700
- GAUSS 02701 - GAUSS 02800
- GAUSS 02801 - GAUSS 02900
- GAUSS 02901 - GAUSS 03000
- GAUSS 03001 - GAUSS 03100
- GAUSS 03101 - GAUSS 03200
- GAUSS 03201 - GAUSS 03300
- GAUSS 03301 - GAUSS 03400
- GAUSS 03401 - GAUSS 03500
- GAUSS 03501 - GAUSS 03600
- GAUSS 03601 - GAUSS 03700
- GAUSS 03701 - GAUSS 03800
- GAUSS 03801 - GAUSS 03900
- GAUSS 03901 - GAUSS 04000
- GAUSS 04001 - GAUSS 04100
- GAUSS 04101 - GAUSS 04200
- GAUSS 04201 - GAUSS 04300
- GAUSS 04301 - GAUSS 04400
- GAUSS 04401 - GAUSS 04500
- GAUSS 04501 - GAUSS 04600
- GAUSS 04601 - GAUSS 04700
- GAUSS 04701 - GAUSS 04800
- GAUSS 04801 - GAUSS 04900
- GAUSS 04901 - GAUSS 05000
- GAUSS 05001 - GAUSS 05100
- GAUSS 05101 - GAUSS 05200
- GAUSS 05201 - GAUSS 05300
- GAUSS 05301 - GAUSS 05400
- GAUSS 05401 - GAUSS 05500
- GAUSS 05501 - GAUSS 05600
- GAUSS 05601 - GAUSS 05700
- GAUSS 05701 - GAUSS 05800
- GAUSS 05801 - GAUSS 05900
- GAUSS 05901 - GAUSS 06000
- GAUSS 06001 - GAUSS 06100
- GAUSS 06101 - GAUSS 06200
- GAUSS 06201 - GAUSS 06300
- GAUSS 06301 - GAUSS 06400
- GAUSS 06401 - GAUSS 06500
- GAUSS 06501 - GAUSS 06600
- GAUSS 06601 - GAUSS 06700
- GAUSS 06701 - GAUSS 06800
- GAUSS 06801 - GAUSS 06900
- GAUSS 06901 - GAUSS 07000
- GAUSS 07001 - GAUSS 07100
- GAUSS 07101 - GAUSS 07200
- GAUSS 07201 - GAUSS 07300
- GAUSS 07301 - GAUSS 07400
- GAUSS 07401 - GAUSS 07480
- GAUSS 50000 - GAUSS 50999
- GAUSS 51000 - GAUSS 51999
- GAUSS 52000 - GAUSS 52999
- GAUSS 53000 - GAUSS 53699
- Error Log Reference
- System Catalogs and System Views
- Common Faults and Identification
- Common Fault Locating Methods
- Common Fault Locating Cases
- Core Fault Locating
- Permission/Session/Data Type Fault Location
- Service/High Availability/Concurrency Fault Location
- Table/Partition Table Fault Location
- File System/Disk/Memory Fault Location
- After You Run the du Command to Query Data File Size In the XFS File System, the Query Result Is Greater than the Actual File Size
- File Is Damaged in the XFS File System
- Insufficient Memory
- "Error:No space left on device" Is Displayed
- When the TPC-C is running and a disk to be injected is full, the TPC-C stops responding
- Disk Space Usage Reaches the Threshold and the Database Becomes Read-only
- SQL Fault Location
- Index Fault Location
- Source Code Parsing
- FAQs
- Glossary
- Mogeaver
PG_THREAD_WAIT_STATUS
PG_THREAD_WAIT_STATUS allows you to test the block waiting status about the backend thread and auxiliary thread of the current instance.
Table 1 PG_THREAD_WAIT_STATUS columns
Name | Type | Description |
---|---|---|
node_name | text | Current node name |
db_name | text | Database name |
thread_name | text | Thread name |
query_id | bigint | Query ID. The value of this column is the same as that of debug_query_id. |
tid | bigint | Current thread ID |
sessionid | bigint | Current session ID |
lwtid | integer | Lightweight thread ID |
psessionid | bigint | Parent session ID |
tlevel | integer | Level of the streaming thread |
smpid | integer | Concurrent thread ID |
wait_status | text | Waiting status of the current thread. For details about the waiting status, see [Table 2](#Waiting status list). |
wait_event | text | If wait_status is acquire lock, acquire lwlock, or wait io, this column describes the lock, lightweight lock, and I/O information, respectively. If wait_status is not any of the three values, this column is empty. |
locktag | text | Information about the lock that the current thread is waiting for |
lockmode | text | Lock mode that the current thread is waiting to obtain The values include modes in the table-level lock, row-level lock, and page-level lock. |
block_sessionid | bigint | ID of the session that blocks the current thread from obtaining the lock |
global_sessionid | text | Global session ID |
The waiting statuses in the wait_status column are as follows:
Value | Description |
---|---|
none | Waiting for no event |
acquire lock | Waiting for locking until the locking succeeds or times out |
acquire lwlock | Waiting for a lightweight lock |
wait io | Waiting for I/O completion |
wait cmd | Waiting for reading network communication packets to complete |
wait pooler get conn | Waiting for the pooler to obtain the connection |
wait pooler abort conn | Waiting for the pooler to terminate the connection |
wait pooler clean conn | Waiting for the pooler to clear connections |
pooler create conn: [nodename], total N | Waiting for the pooler to set up a connection. The connection is being established with the node specified by nodename, and there are N connections waiting to be set up. |
get conn | Obtaining the connection to other nodes |
set cmd: [nodename] | Waiting for running the SET, RESET, TRANSACTION BLOCK LEVEL PARA SET, or SESSION LEVEL PARA SET statement on the connection. The statement is being executed on the node specified by nodename. |
cancel query | Canceling the SQL statement that is being executed through the connection |
stop query | Stopping the query that is being executed through the connection |
wait node: nodename, total N, [phase] | Waiting for receiving data from a connected node. The thread is waiting for data from the plevel thread of the node specified by nodename. The data of N connections is waiting to be returned. If phase is included, the possible phases are as follows: - begin: The transaction is being started. - commit: The transaction is being committed. - rollback: The transaction is being rolled back. |
wait transaction sync: xid | Waiting for synchronizing the transaction specified by xid |
wait wal sync | Waiting for the completion of WAL of synchronization from the specified LSN to the standby instance |
wait data sync | Waiting for the completion of data page synchronization to the standby instance |
wait data sync queue | Waiting for putting the data pages that are in the row-store or the CU in the column-store into the synchronization queue |
flush data: nodename, [phase] | Waiting for sending data to the plevel thread of the node specified by nodename. If phase is included, the possible phase is wait quota, indicating that the current communication flow is waiting for the quota value. |
stream get conn: [nodename], total N | Waiting for connecting to the consumer object of the node specified by nodename when the stream flow is initialized. There are N consumers waiting to be connected. |
wait producer ready: nodename, total N | Waiting for each producer to be ready when the stream flow is initialized. The thread is waiting for the procedure of the plevel thread on the nodename node to be ready. There are N producers waiting to be ready. |
synchronize quit | Waiting for the threads in the stream thread group to quit when the stream plan ends |
wait stream nodegroup destroy | Waiting for destroying the stream node group when the stream plan ends |
wait active statement | Waiting for job execution under resource and load control |
analyze: [relname], [phase] | The thread is doing ANALYZE to the relname table. If phase is included, the possible phase is autovacuum, indicating that the database automatically enables the AutoVacuum thread to execute ANALYZE. |
vacuum: [relname], [phase] | The thread is doing VACUUM to the relname table. If phase is included, the possible phase is autovacuum, indicating that the database automatically enables the AutoVacuum thread to execute VACUUM. |
vacuum full: [relname] | The thread is doing VACUUM FULL to the relname table. |
create index | An index is being created. |
HashJoin - [ build hash | write file ] | The HashJoin operator is being executed. In this phase, you need to pay attention to the execution time-consuming. - build hash: The HashJoin operator is creating a hash table. - write file: The HashJoin operator is writing data to disks. |
HashAgg - [ build hash | write file ] | The HashAgg operator is being executed. In this phase, you need to pay attention to the execution time-consuming. - build hash: The HashAgg operator is creating a hash table. - write file: The HashAgg operator is writing data to disks. |
HashSetop - [build hash | write file ] | The HashSetop operator is being executed. In this phase, you need to pay attention to the execution time-consuming. - build hash: The HashSetop operator is creating a hash table. - write file: The HashSetop operator is writing data to disks. |
Sort | Sort - [fetch tuple |write file] | The Sort operator is used for sorting. fetch tuple indicates that the Sort operator is obtaining tuples, and write file indicates that the Sort operator is writing data to disks. |
Material | Material - write file | The Material operator is being executed. write file indicates that the Material operator is writing data to disks. |
NestLoop | The NestLoop operator is being executed. |
wait memory | Waiting for obtaining the memory |
wait sync consumer next step | Waiting for the consumer to execute the stream operator |
wait sync producer next step | Waiting for the producer to execute the stream operator |
If wait_status is acquire lwlock, acquire lock, or wait io, there is an event performing I/O operations or waiting for obtaining the corresponding lightweight lock or transaction lock.
The following table describes the corresponding wait events when wait_status is acquire lwlock. If wait_event is extension, the lightweight lock is dynamically allocated and is not monitored.
Table 3 List of wait events corresponding to lightweight locks
wait_event | Description |
---|---|
ShmemIndexLock | Used to protect the primary index table, a hash table, in shared memory. |
OidGenLock | Used to prevent different threads from generating the same OID. |
XidGenLock | Used to prevent two transactions from obtaining the same transaction ID. |
ProcArrayLock | Used to prevent concurrent access to or concurrent modification on ProcArray shared arrays. |
SInvalReadLock | Used to prevent concurrent execution with invalid message deletion. |
SInvalWriteLock | Used to prevent concurrent execution with invalid message write and deletion. |
WALInsertLock | Used to prevent concurrent execution with WAL insertion. |
WALWriteLock | Used to prevent concurrent write from a WAL buffer to a disk. |
ControlFileLock | Used to prevent concurrent read/write or concurrent write/write on the pg_control file. |
CheckpointLock | Used to prevent multi-checkpoint concurrent execution. |
CLogControlLock | Used to prevent concurrent access to or concurrent modification on the Clog control data structure. |
SubtransControlLock | Used to prevent concurrent access to or concurrent modification on the subtransaction control data structure. |
MultiXactGenLock | Used to allocate a unique MultiXact ID in serial mode. |
MultiXactOffsetControlLock | Used to prevent concurrent read/write or concurrent write/write on pg_multixact/offset. |
MultiXactMemberControlLock | Used to prevent concurrent read/write or concurrent write/write on pg_multixact/members. |
RelCacheInitLock | Used to add a lock before any operations are performed on the init file when messages are invalid. |
CheckpointerCommLock | Used to send file flush requests to a checkpointer. The request structure needs to be inserted to a request queue in serial mode. |
TwoPhaseStateLock | Used to prevent concurrent access to or modification on two-phase information sharing arrays. |
TablespaceCreateLock | Used to check whether a tablespace already exists. |
BtreeVacuumLock | Used to prevent VACUUM from clearing pages that are being used by B-tree indexes. |
AutovacuumLock | Used to access the autovacuum worker array in serial mode. |
AutovacuumScheduleLock | Used to distribute tables requiring VACUUM in serial mode. |
AutoanalyzeLock | Used to obtain and release resources related to a task that allows for autoanalyze execution. |
SyncScanLock | Used to determine the start position of a relfilenode during heap scanning. |
NodeTableLock | Used to protect a shared structure that stores database node information. |
PoolerLock | Used to prevent two threads from simultaneously obtaining the same connection from a connection pool. |
RelationMappingLock | Used to wait for the mapping file between system catalogs and storage locations to be updated. |
AsyncCtlLock | Used to prevent concurrent access to or concurrent modification on the sharing notification status. |
AsyncQueueLock | Used to prevent concurrent access to or concurrent modification on the sharing notification queue. |
SerializableXactHashLock | Used to prevent concurrent read/write or concurrent write/write on a sharing structure for serializable transactions. |
SerializableFinishedListLock | Used to prevent concurrent read/write or concurrent write/write on a shared linked list for completed serial transactions. |
SerializablePredicateLockListLock | Used to protect a linked list of serializable transactions that have locks. |
OldSerXidLock | Used to protect a structure that records serializable transactions that have conflicts. |
FileStatLock | Used to protect a data structure that stores statistics file information. |
SyncRepLock | Used to protect Xlog synchronization information during primary/standby replication. |
DataSyncRepLock | Used to protect data page synchronization information during primary/standby replication. |
CStoreColspaceCacheLock | Used to add a lock when CU space is allocated for a column-store table. |
CStoreCUCacheSweepLock | Used to add a lock when CU caches used by a column-store table are cyclically washed out. |
MetaCacheSweepLock | Used to add a lock when metadata is cyclically washed out. |
ExtensionConnectorLibLock | Adds a lock when a specific dynamic library is loaded or uninstalled in ODBC connection initialization scenarios. |
SearchServerLibLock | Used to add a lock on the file read operation when a specific dynamic library is initially loaded in GPU-accelerated scenarios. |
LsnXlogChkFileLock | Used to serially update the Xlog flush points for primary and standby servers recorded in a specific structure. |
ReplicationSlotAllocationLock | Used to add a lock when a primary server allocates stream replication slots during primary/standby replication. |
ReplicationSlotControlLock | Used to prevent concurrent update of stream replication slot status during primary/standby replication. |
ResourcePoolHashLock | Used to prevent concurrent access to or concurrent modification on a resource pool table, a hash table. |
WorkloadStatHashLock | Used to prevent concurrent access to or concurrent modification on a hash table that contains SQL requests from the primary node of the database side. |
WorkloadIoStatHashLock | Used to prevent concurrent access to or concurrent modification on a hash table that contains I/O information of the current database node. |
WorkloadCGroupHashLock | Used to prevent concurrent access to or concurrent modification on a hash table that contains Cgroup information. |
OBSGetPathLock | Used to prevent concurrent read/write or concurrent write/write on an OBS path. |
WorkloadUserInfoLock | Used to prevent concurrent access to or concurrent modification on a hash table that contains user information about load management. |
WorkloadRecordLock | Used to prevent concurrent access to or concurrent modification on a hash table that contains requests received by the primary node of the databases during adaptive memory management. |
WorkloadIOUtilLock | Used to protect a structure that records iostat and CPU load information. |
WorkloadNodeGroupLock | Used to prevent concurrent access to or concurrent modification on a hash table that contains node group information in memory. |
JobShmemLock | Used to protect global variables in the shared memory that is periodically read during a scheduled task. |
OBSRuntimeLock | Used to obtain environment variables, for example, GASSHOME. |
LLVMDumpIRLock | Used to export the assembly language for dynamically generating functions. |
LLVMParseIRLock | Used to compile and parse a finished IR function from the IR file at the start position of a query. |
CriticalCacheBuildLock | Used to load caches from a shared or local cache initialization file. |
WaitCountHashLock | Used to protect a shared structure in user statement counting scenarios. |
BufMappingLock | Used to protect operations on a shared-buffer mapping table. |
LockMgrLock | Used to protect the information about a common lock structure. |
PredicateLockMgrLock | Used to protect the information about a lock structure that has serializable transactions. |
OperatorRealTLock | Used to prevent concurrent access to or concurrent modification on a global structure that contains real-time data at the operator level. |
OperatorHistLock | Used to prevent concurrent access to or concurrent modification on a global structure that contains historical data at the operator level. |
SessionRealTLock | Used to prevent concurrent access to or concurrent modification on a global structure that contains real-time data at the query level. |
SessionHistLock | Used to prevent concurrent access to or concurrent modification on a global structure that contains historical data at the query level. |
CacheSlotMappingLock | Used to protect global CU cache information. |
BarrierLock | Used to ensure that only one thread is creating a barrier at a time. |
dummyServerInfoCacheLock | Used to protect a global hash table where the information about MogDB connections is cached. |
RPNumberLock | Used by a database node on a computing MogDB to count the number of threads for a task where plans are being executed. |
ClusterRPLock | Used to control concurrent access on MogDB load data maintained in a CCN of MogDB. |
CBMParseXlogLock | Used to protect the lock used when CBM parses Xlogs. |
RelfilenodeReuseLock | Used to prevent the link to a reused column attribute file from being canceled by mistake. |
RcvWriteLock | Used to prevent concurrent call of WalDataRcvWrite. |
PercentileLock | Used to protect global percentile buffers. |
CSNBufMappingLock | Used to protect CSN pages. |
UniqueSQLMappingLock | Used to protect a unique SQL hash table. |
DelayDDLLock | Used to prevent concurrent DDL operations. |
CLOG Ctl | Used to prevent concurrent access to or concurrent modification on the Clog control data structure. |
Async Ctl | Used to protect asynchronization buffers. |
MultiXactOffset Ctl | Used to protect SLRU buffers of a MultiXact offset. |
MultiXactMember Ctl | Used to protect SLRU buffer of a MultiXact member. |
OldSerXid SLRU Ctl | Used to protect SLRU buffers of old transaction IDs. |
ReplicationSlotLock | Used to protect a replication slot. |
PGPROCLock | Used to protect the PGPROC structure. |
MetaCacheLock | Used to protect meta caches. |
DataCacheLock | Used to protect data caches. |
InstrUserLock | Used to protect a user hash table. |
BadBlockStatHashLock | Used to protect the hash table global_bad_block_stat |
BufFreelistLock | Used to ensure the atomicity of free list operations in the shared buffer. |
CUSlotListLock | Used to control concurrent operations on the slot of the column-store buffer. |
AddinShmemInitLock | Used to protect the initialization of the shared memory object. |
AlterPortLock | Used to protect the coordinator node from changing the registration port number. |
FdwPartitionCaheLock | Management lock of the buffer of the HDFS partitioned table. |
DfsConnectorCacheLock | Management lock of the DFSConnector buffer. |
DfsSpaceCacheLock | Management lock of the HDFS tablespace management buffer. |
FullBuildXlogCopyStartPtrLock | Used to protect Xlog copy operations in the full build. |
DfsUserLoginLock | Used for HDFS user login and authentication. |
LogicalReplicationSlotPersistentDataLock | Used to protect data in the replication slot during logical replication. |
WorkloadSessionInfoLock | Used to protect the access to the session info memory hash table of the load management module. |
InstrWorkloadLock | Used to protect the access to the memory hash table that stores load management statistics. |
PgfdwLock | Used by the management instance to establish a connection to the foreign server. |
InstanceTimeLock | Used to obtain time information of sessions in an instance. |
XlogRemoveSegLock | Used to protect Xlog segment file recycling. |
DnUsedSpaceHashLock | Used to update space usage information corresponding to a session. |
CsnMinLock | Used to calculate CSNmin. |
GPCCommitLock | Used to protect the addition of the global Plan Cache hash table. |
GPCClearLock | Used to protect the clearing of the global plan cache hash table. |
GPCTimelineLock | Used to protect the timeline check of the global plan cache hash table. |
TsTagsCacheLock | Used to manage the time series tag cache. |
InstanceRealTLock | Used to protect the update of the hash table that stores shared instance statistics. |
CLogBufMappingLock | Used to manage the cache of commit logs. |
GPCMappingLock | Used to manage the global plan cache. |
GPCPrepareMappingLock | Used to manage the global plan cache. |
BufferIOLock | Used to protect I/O operations on pages in the shared buffer. |
BufferContentLock | Used to protect the read and modification of the page content in the shared buffer. |
CSNLOG Ctl | Used for CSN log management. |
DoubleWriteLock | Used to manage doublewrite operations. |
RowPageReplicationLock | Used to manage data page replication of row-store. |
extension | Other lightweight locks |
The following table describes the corresponding wait events when wait_status is wait io.
Table 4 List of wait events corresponding to I/Os
wait_event | Description |
---|---|
BufFileRead | Reads data from a temporary file to a specified buffer. |
BufFileWrite | Writes the content of a specified buffer to a temporary file. |
ControlFileRead | Reads the pg_control file, mainly during database startup, checkpoint execution, and primary/standby verification. |
ControlFileSync | Flushes the pg_control file to a disk, mainly during database initialization. |
ControlFileSyncUpdate | Flushes the pg_control file to a disk, mainly during database startup, checkpoint execution, and primary/standby verification. |
ControlFileWrite | Writes the pg_control file, mainly during database initialization. |
ControlFileWriteUpdate | Updates the pg_control file, mainly during database startup, checkpoint execution, and primary/standby verification. |
CopyFileRead | Reads a file during file copying. |
CopyFileWrite | Writes a file during file copying. |
DataFileExtend | Writes a file during file extension. |
DataFileFlush | Flushes a table data file to a disk. |
DataFileImmediateSync | Flushes a table data file to a disk immediately. |
DataFilePrefetch | Reads a table data file asynchronously. |
DataFileRead | Reads a table data file synchronously. |
DataFileSync | Flushes table data file modifications to a disk. |
DataFileTruncate | Truncates a table data file. |
DataFileWrite | Writes a table data file. |
LockFileAddToDataDirRead | Reads the postmaster.pid file. |
LockFileAddToDataDirSync | Flushes the postmaster.pid file to a disk. |
LockFileAddToDataDirWrite | Writes PID information into the postmaster.pid file. |
LockFileCreateRead | Read the LockFile file %s.lock. |
LockFileCreateSync | Flushes the LockFile file %s.lock to a disk. |
LockFileCreateWRITE | Writes PID information into the LockFile file %s.lock. |
RelationMapRead | Reads the mapping file between system catalogs and storage locations. |
RelationMapSync | Flushes the mapping file between system catalogs and storage locations to a disk. |
RelationMapWrite | Writes the mapping file between system catalogs and storage locations. |
ReplicationSlotRead | Reads a stream replication slot file during a restart. |
ReplicationSlotRestoreSync | Flushes a stream replication slot file to a disk during a restart. |
ReplicationSlotSync | Flushes a temporary stream replication slot file to a disk during checkpoint execution. |
ReplicationSlotWrite | Writes a temporary stream replication slot file during checkpoint execution. |
SLRUFlushSync | Flushes the pg_clog, pg_subtrans, and pg_multixact files to a disk, mainly during checkpoint execution and database shutdown. |
SLRURead | Reads the pg_clog, pg_subtrans, and pg_multixact files. |
SLRUSync | Writes dirty pages into the pg_clog, pg_subtrans, and pg_multixact files, and flushes the files to a disk, mainly during checkpoint execution and database shutdown. |
SLRUWrite | Writes the pg_clog, pg_subtrans, and pg_multixact files. |
TimelineHistoryRead | Reads the timeline history file during database startup. |
TimelineHistorySync | Flushes the timeline history file to a disk during database startup. |
TimelineHistoryWrite | Writes to the timeline history file during database startup. |
TwophaseFileRead | Reads the pg_twophase file, mainly during two-phase transaction commit and restoration. |
TwophaseFileSync | Flushes the pg_twophase file to a disk, mainly during two-phase transaction commit and restoration. |
TwophaseFileWrite | Writes the pg_twophase file, mainly during two-phase transaction commit and restoration. |
WALBootstrapSync | Flushes an initialized WAL file to a disk during database initialization. |
WALBootstrapWrite | Writes an initialized WAL file during database initialization. |
WALCopyRead | Read operation generated when an existing WAL file is read for replication after archiving and restoration. |
WALCopySync | Flushes a replicated WAL file to a disk after archiving and restoration. |
WALCopyWrite | Write operation generated when an existing WAL file is read for replication after archiving and restoration. |
WALInitSync | Flushes a newly initialized WAL file to a disk during log reclaiming or writing. |
WALInitWrite | Initializes a newly created WAL file to 0 during log reclaiming or writing. |
WALRead | Reads data from Xlogs during redo operations on two-phase files. |
WALSyncMethodAssign | Flushes all open WAL files to a disk. |
WALWrite | Writes a WAL file. |
WALBufferAccess | WAL Buffer access (for performance reasons, only the number of accesses are counted in the kernel code, and the access time is not counted). |
WALBufferFull | When the WAL Buffer is full, write wal file related processing. |
DoubleWriteFileRead | Doublewrites and reads a file. |
DoubleWriteFileSync | Doublewrites a file and forcibly flushes files to disks. |
DoubleWriteFileWrite | Doublewrites a file and writes a file. |
PredoProcessPending | Waits for the playback of other records to complete during parallel log playback. |
PredoApply | Waits for other threads to play back logs to the LSN of the current thread during parallel log playback. |
DisableConnectFileRead | Reads the HA lock fragment logic file. |
DisableConnectFileSync | Forcibly flushes the HA lock fragment logic file to disks. |
DisableConnectFileWrite | Writes the HA lock fragment logic file. |
The following table describes the corresponding wait events when wait_status is acquire lock.
Table 5 List of wait events corresponding to transaction locks
wait_event | Description |
---|---|
relation | Adds a lock to a table. |
extend | Adds a lock to a table being scaled out. |
partition | Adds a lock to a partitioned table. |
partition_seq | Adds a lock to a partition of a partitioned table. |
page | Adds a lock to a table page. |
tuple | Adds a lock to a tuple on a page. |
transactionid | Adds a lock to a transaction ID. |
virtualxid | Adds a lock to a virtual transaction ID. |
object | Adds a lock to an object. |
cstore_freespace | Adds a lock to idle column-store space. |
userlock | Adds a lock to a user. |
advisory | Adds an advisory lock. |