- What's New
- Function Overview
- Product Bulletin
- Service Overview
- Billing
- Getting Started
-
User Guide
- Permissions Management
- Buying a GaussDB Instance
- GaussDB Instance Connection
-
Database Migration
- Overview of GaussDB Migration Solutions
- Using DRS to Migrate Data from Oracle Database to GaussDB
- Using DRS to Migrate Data from MySQL Database to GaussDB
- Migrating Data to GaussDB Using the Export and Import Functions of DAS
- Using the copy to/from Command to Export and Import Data
- Using CopyManager in JDBC to Export and Import Data
- Using gs_dump and gs_dumpall to Export Data
- Using gs_restore to Import Data
- Using gs_loader to Import Data
- Database Use
-
Instance Management
- Viewing GaussDB Instance Overview Data
- Configuring Security Group Rules for a GaussDB Instance
- Binding and Unbinding an EIP for a GaussDB Instance
- Modifying the Recycle Bin Policy for a GaussDB Instance
- Exporting Information About All GaussDB Instances
- Unsubscribing a Yearly/Monthly GaussDB Instance
- Stopping a GaussDB Instance
- Starting a GaussDB Instance
- Rebooting a GaussDB Instance
- Deleting a Pay-per-Use GaussDB Instance
- Rebuilding a GaussDB Instance
- Stopping a GaussDB Node
- Starting a GaussDB Node
- Rebooting a GaussDB Node
-
Instance Modifications
- Changing the Name of a GaussDB Instance
- Changing the Database Port of a GaussDB Instance
- Changing the M Compatibility Port
- Changing the CPU and Memory Specifications of a GaussDB Instance
- Configuring Read Replicas
- Synchronizing Data to a Single-Replica Instance
- Viewing and Modifying Advanced Features
- Scaling In and Out an Instance
- Scaling Up Storage Space
- Changing the Deployment Model
- Performing a Primary/Standby DN Switchover
- Instance Upgrade
- Plug-in Management
- Data Backup
- Data Restoration
- Parameter Management
- Monitoring and Alarming
- Logs and Auditing
- Quota Adjustment
- SQL Diagnosis
-
Disaster Recovery Management
- Constraints
- Creating a DR Task
- Checking DR Task Statuses
- Promoting the DR Instance to Primary
- Stopping a DR Task
- Deleting a DR Task
- Re-creating a DR Task After the Primary Instance Is Faulty
- Switching Roles of Primary and DR Instances
- Re-establishing a DR Relationship
- Performing a DR Drill
- Enabling or Disabling Log Cache
- Restrictions on the DR Instance
- Managing GaussDB Tasks
- Managing GaussDB Tags
- Resetting the Administrator Password of a GaussDB Instance
-
Developer Guide
-
Developer Guide(Distributed_8.x)
- Database System Overview
- Database Security
- Database Quick Start
- Development and Design Proposal
-
Application Development Guide
- Development Specifications
- Obtaining the Driver Package
-
Development Based on JDBC
- JDBC Packages, Driver Classes, and Environment Classes
- Development Process
- Loading a Driver
- Connecting to a Database
- Connecting to a Database (Using SSL)
- Connecting to a Database (Using UDS)
- Running SQL Statements
- Processing Data in a Result Set
- Closing a Database Connection
- Log Management
- Examples: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Logic Replication Code
- Example: Parameters for Connecting to the Database in Different Scenarios
-
JDBC Interface 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
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- Common JDBC Parameters
- FAQs
- JDBC Data Type Mapping
- Development Based on ODBC
- Development Based on libpq
- Psycopg-based Development
-
ECPG-based Development
- Development Process
- ECPG Components
- ECPG Preprocessing and Compiling
- Managing Database Connections
- Running SQL Commands
- Querying the Result Set
- Closing a Database Connection
- Host Variables
- Executing Dynamic SQL Statements
- Error Handling
- Preprocessor Directives
- Using Library Functions
- SQL Descriptor Area
- Examples
- ecpg and Pro*C Compatibility Comparison
- ECPG API Reference
- Development Based on the Go Driver
- Compatibility Reference
- Commissioning
-
SQL Optimization
- Query Execution Process
- Introduction to the SQL Execution Plan
- Optimization Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Typical SQL Optimization Methods
- Experience in Rewriting SQL Statements
- Configuring Key Parameters for SQL Tuning
-
Hint-based Optimization
- Plan Hint Optimization
- Hint Specifying the Query Block Where the Hint Is Located
- Hint Specifying the Query Block and Schema of a Table
- Join Order Hints
- Join Operation Hints
- Rows Hints
- Stream Operation Hints
- Scan Hints
- Sublink Name Hints
- Skew Hints
- Parameterized Path Hint
- Hint Errors, Conflicts, and Other Warnings
- GUC Parameter Hints
- Hints for Selecting the Custom Plan or Generic Plan
- Hints Specifying Not to Expand Subqueries
- Hints Specifying Not to Use Global Plan Cache
- Hints of Parameterized Paths at the Same Level
- Hints for Setting Slow SQL Control Rules
- Bitmap Scan Hints
- Hint for Inner Table Materialization During Join
- AGG Hint
- Query Rewriting Hints
- Hints for Specifying ANY Sublink Pullup
- Hints for Specifying the Degree of Parallelism for Scans
- Hints for Specifying Whether to Use Semi-Join
- Hints for Specifying Whether to Use Minmax Optimization
- Checking the Implicit Conversion Performance
- Performing Optimization with SQL Patches
-
Optimization Cases
- Case: Selecting an Appropriate Distribution Key
- Case: Creating an Appropriate Index
- Case: Adjusting Distribution Keys
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL Statements to Eliminate Subqueries
- Case: Rewriting SQL Statements to Eliminate Pruning Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Modifying the GUC Parameter rewrite_rule
- Using DN Gather to Reduce Stream Nodes in the Plan
-
SQL Reference
- GaussDB SQL
- Keywords
-
Data Types
- Numeric Types
- Monetary Types
- Boolean Types
- Character Types
- Binary Types
- Date/Time Types
- Geometric Types
- Network Address Types
- Bit String Types
- UUID Type
- JSON/JSONB Types
- HLL Type
- Range Types
- Object Identifier Types
- Pseudo-Types
- Data Types Used by the Ledger Database
- XML Type
- XMLType
- ACLItem Type
- Array Types
-
Character Sets and Collations
- Character Sets and Collations of the Client Connection
- Database-level Character Sets and Collations
- Schema-level Character Sets and Collations
- Table-level Character Sets and Collations
- Column-level Character Sets and Collations
- Character Sets and Collations of Expressions of the String Type
- Rules for Combining Character Sets and Collations
- Constant and Macro
-
Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Pattern Matching Operators
- Arithmetic 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
- Security Functions
- Ledger Database Functions
- Encrypted Functions and Operators
- Set Returning Functions
- Conditional Expression Functions
- System Information Functions
-
System Administration Functions
- Configuration Setting Functions
- Universal File Access Functions
- Server Signal Functions
- Backup and Restoration Control Functions
- Dual-Cluster DR Control Functions
- Dual-Cluster DR Query Functions
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Logical Replication Functions
- Segment-Page Storage Functions
- Hash Bucket System Functions
- Undo System Functions
- Other Functions
- SPM Functions
- Statistics Information Functions
- Trigger Functions
- Hash Functions
- Prompt Message Function
- Fault Injection System Function
- Redistribution Functions
- Distribution Key Recommendation Functions
- Other System Functions
- Internal Functions
- AI Feature Functions
- Sensitive Data Discovery Function
- Dynamic Data Masking Functions
- Hotkey Feature Functions
- Global SysCache Functions
- Data Damage Detection and Repair Functions
- Functions of the XML Type
- Functions of the XMLType Type
- Pivot Table Functions
- UUID Functions
- SQL Statement Concurrency Control Function
- Obsolete Functions
- Expressions
- Pseudocolumn
- Type Conversion
- System Operation
- Controlling Transactions
-
SQL Syntax
- SQL Syntax
- DCL Syntax Overview
- DDL Syntax Overview
- DML Syntax Overview
- Other Syntax List
-
A
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER COLUMN ENCRYPTION KEY
- ALTER COORDINATOR
- ALTER DATABASE
- ALTER DATABASE LINK
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FOREIGN DATA WRAPPER
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NODE
- ALTER NODE GROUP
- ALTER RESOURCE LABEL
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- ANALYZE | ANALYSE
- B
-
C
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE BARRIER
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE EXTENSION
- CREATE FOREIGN DATA WRAPPER
- CREATE FUNCTION
- CREATE GLOBAL INDEX
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE NODE
- CREATE NODE GROUP
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE SCHEMA
- CREATE SECURITY LABEL
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLESPACE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
-
D
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AGGREGATE
- DROP AUDIT POLICY
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATABASE LINK
- DROP DIRECTORY
- DROP FOREIGN DATA WRAPPER
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP MODEL
- DROP NODE
- DROP NODE GROUP
- DROP OWNED
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP RESOURCE POOL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP SCHEMA
- DROP SECURITY LABEL
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- E
- F
- G
- I
- L
- M
- P
- R
- S
- T
- U
- V
- Appendix
- Best Practices
- User-defined Functions
- Stored Procedures
- Autonomous Transaction
-
System Catalogs and System Views
- Overview of System Catalogs and System Views
-
System Catalogs
- Partitioned Table
- OLTP Table Compression
- Encrypted Equality Query
- Communications
- Ledger Database
- SPM
- AI
- Auditing
- User and Permission Management
- Connection and Authentication
- Dynamic Data Masking
- DATABASE LINK
- Materialized Views
-
Other System Catalogs
- GS_ASP
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_GLOBAL_CONFIG
- GS_JOB_ATTRIBUTE
- GS_JOB_ARGUMENT
- GS_PLAN_TRACE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SECURITY_LABEL
- GS_SQL_PATCH
- GS_STATISTIC_EXT_HISTORY
- GS_STATISTIC_HISTORY
- GS_TABLESTATS_HISTORY
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WORKLOAD_RULE
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_EXTENSION
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- 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_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SET
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PGXC_CLASS
- PGXC_GROUP
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
-
System Views
-
Partitioned Table
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_PART_COL_STATISTICS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_SUBPART_KEY_COLUMNS
- ADM_TAB_PARTITIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_PART_COL_STATISTICS
- DB_PART_KEY_COLUMNS
- DB_PART_TABLES
- DB_SUBPART_KEY_COLUMNS
- DB_TAB_PARTITIONS
- DB_TAB_SUBPARTITIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_PART_COL_STATISTICS
- MY_PART_INDEXES
- MY_PART_KEY_COLUMNS
- MY_PART_TABLES
- MY_SUBPART_KEY_COLUMNS
- MY_TAB_PARTITIONS
- GS_STATIO_ALL_PARTITIONS
- GS_STAT_XACT_ALL_PARTITIONS
- GS_STAT_ALL_PARTITIONS
- OLTP Table Compression
-
Communications
- COMM_CLIENT_INFO
- GLOBAL_COMM_CLIENT_INFO
- GS_COMM_LISTEN_ADDRESS_EXT_INFO
- GS_GET_LISTEN_ADDRESS_EXT_INFO
- GS_LIBCOMM_FD_INFO
- GS_LIBCOMM_MEMORY_INFO
- GS_STATIC_THREADPOOL_CTRL_STATUS
- PG_COMM_DELAY
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_STATUS
- PG_GET_INVALID_BACKENDS
- PG_POOLER_STATUS
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
-
Segment-Page Storage
- GLOBAL_GS_SEG_DATAFILES
- GLOBAL_GS_SEG_EXTENTS
- GLOBAL_GS_SEG_SEGMENTS
- GLOBAL_GS_SEG_SPC_EXTENTS
- GLOBAL_GS_SEG_SPC_SEGMENTS
- GS_SEG_DATAFILES
- GS_SEG_DATAFILE_LAYOUT
- GS_SEG_EXTENTS
- GS_SEG_SEGMENTS
- GS_SEG_SEGMENT_LAYOUT
- GS_SEG_SPC_EXTENTS
- GS_SEG_SPC_SEGMENTS
- GS_SEG_SPC_REMAIN_EXTENTS
- GS_SEG_SPC_REMAIN_SEGMENTS
- SPM
- Auditing
-
User and Permission Management
- ADM_COL_PRIVS
- ADM_ROLE_PRIVS
- ADM_ROLES
- ADM_SYS_PRIVS
- ADM_TAB_PRIVS
- ADM_USERS
- DB_COL_PRIVS
- DB_DIRECTORIES
- DB_TAB_PRIVS
- DB_USERS
- GS_DB_PRIVILEGES
- GS_LABELS
- MY_COL_PRIVS
- MY_ROLE_PRIVS
- MY_SYS_PRIVS
- PG_RLSPOLICIES
- PG_ROLES
- PG_SECLABELS
- PG_SHADOW
- PG_USER
- PG_USER_MAPPINGS
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- Dynamic Data Masking
- Transparent Encryption
- DATABASE LINK
- Materialized Views
-
Other System Views
- ADM_ARGUMENTS
- ADM_COL_COMMENTS
- ADM_COLL_TYPES
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_DEPENDENCIES
- ADM_DIRECTORIES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_HIST_SQLTEXT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PROCEDURES
- ADM_SCHEDULER_JOB_ARGS
- ADM_SCHEDULER_JOBS
- ADM_SCHEDULER_PROGRAM_ARGS
- ADM_SCHEDULER_PROGRAMS
- ADM_SCHEDULER_RUNNING_JOBS
- ADM_SEGMENTS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_COL_STATISTICS
- ADM_TAB_COLS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_HISTOGRAMS
- ADM_TAB_STATISTICS
- ADM_TAB_STATS_HISTORY
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_TYPES
- ADM_VIEWS
- DB_ARGUMENTS
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_COLL_TYPES
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PROCEDURES
- DB_SCHEDULER_JOB_ARGS
- DB_SCHEDULER_PROGRAM_ARGS
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_COL_STATISTICS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_HISTOGRAMS
- DB_TAB_MODIFICATIONS
- DB_TAB_STATS_HISTORY
- DB_TABLES
- DB_TRIGGERS
- DB_TYPES
- DB_VIEWS
- DICT
- DICTIONARY
- DUAL
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GET_GLOBAL_PREPARED_XACTS
- GLOBAL_BAD_BLOCK_INFO
- GLOBAL_CLEAR_BAD_BLOCK_INFO
- GLOBAL_SQL_PATCH
- GLOBAL_STAT_HOTKEYS_INFO
- GLOBAL_WAL_SENDER_STATUS
- GS_ALL_CONTROL_GROUP_INFO
- GS_ALL_PREPARED_STATEMENTS
- GS_BUCKET_LOCKS
- GS_GET_CONTROL_GROUP_INFO
- GS_GLOBAL_ARCHIVE_STATUS
- GS_GSC_MEMORY_DETAIL
- GS_LSC_MEMORY_DETAIL
- GS_MY_PLAN_TRACE
- GS_SESSION_ALL_SETTINGS
- GS_SQL_COUNT
- GS_WORKLOAD_RULE_STAT
- GV_INSTANCE
- GV_SESSION
- MPP_TABLES
- MY_AUDIT_TRAIL
- MY_COL_COMMENTS
- MY_COLL_TYPES
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_DEPENDENCIES
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PROCEDURES
- MY_SCHEDULER_JOB_ARGS
- MY_SCHEDULER_JOBS
- MY_SCHEDULER_PROGRAM_ARGS
- MY_SEQUENCES
- MY_SOURCE
- MY_SYNONYMS
- MY_TAB_COL_STATISTICS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_HISTOGRAMS
- MY_TAB_MODIFICATIONS
- MY_TAB_STATS_HISTORY
- MY_TAB_STATISTICS
- MY_TABLES
- MY_TABLESPACES
- MY_TRIGGERS
- MY_TYPE_ATTRS
- MY_TYPES
- MY_VIEWS
- NLS_DATABASE_PARAMETERS
- NLS_INSTANCE_PARAMETERS
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_SLOTS
- PG_RULES
- PG_RUNNING_XACTS
- PG_SETTINGS
- PG_SHARED_MEMORY_DETAIL
- PG_STATS
- PG_STAT_ACTIVITY
- 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_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_TABLES
- 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_VARIABLE_INFO
- PG_VIEWS
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_TABLE_SKEWNESS
- PGXC_NODE_ENV
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_RUNNING_XACTS
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_SQL_COUNT
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_VARIABLE_INFO
- PLAN_TABLE
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_REDO_STAT
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_CONTEXT
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_THREAD_MEMORY_CONTEXT
- PV_TOTAL_MEMORY_DETAIL
- SYS_DUMMY
- V_INSTANCE
- V_MYSTAT
- V_SESSION
- V$GLOBAL_OPEN_CURSOR
- V$GLOBAL_TRANSACTION
- V$LOCK
- V$NLS_PARAMETERS
- V$OPEN_CURSOR
- V$SESSION_WAIT
- V$SYSSTAT
- V$SYSTEM_EVENT
- V$VERSION
-
Partitioned Table
- Discarded
-
Schemas
- Information Schema
-
DBE_PERF Schema
- OS
- Instance
- 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 and 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
- LOCAL_ACTIVE_SESSION
- GLOBAL_ACTIVE_SESSION
- Transaction
-
Cache and I/O
- 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
- Communication Library
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- POOLER_STATUS
- GLOBAL_COMM_CHECK_CONNECTION_STATUS
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_POOLER_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
- PARALLEL_DECODE_STATUS
- GLOBAL_PARALLEL_DECODE_STATUS
- PARALLEL_DECODE_THREAD_INFO
- GLOBAL_PARALLEL_DECODE_THREAD_INFO
- GLOBAL_ADIO_COMPLETER_STATUS
- GLOBAL_AIO_SLOT_USAGE_STATUS
- Lock
- Wait Event
- Configuration
- Operator
- Workload Manager
- Global Plan Cache
- RTO & RPO
- AI Watchdog
- Discarded
- WDR Snapshot Schema
-
DBE_SQL_UTIL Schema
- DBE_SQL_UTIL.create_hint_sql_patch
- DBE_SQL_UTIL.create_abort_sql_patch
- DBE_SQL_UTIL.drop_sql_patch
- DBE_SQL_UTIL.enable_sql_patch
- DBE_SQL_UTIL.disable_sql_patch
- DBE_SQL_UTIL.show_sql_patch
- DBE_SQL_UTIL.create_hint_sql_patch
- DBE_SQL_UTIL.create_abort_sql_patch
- DBE_SQL_UTIL.create_remote_hint_sql_patch
- DBE_SQL_UTIL.create_remote_abort_sql_patch
- DBE_SQL_UTIL.drop_remote_sql_patch
- DBE_SQL_UTIL.enable_remote_sql_patch
- DBE_SQL_UTIL.disable_remote_sql_patch
-
DBE_PLDEBUGGER Schema
- 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.enable_breakpoint
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DBE_PLDEBUGGER.backtrace
- DBE_PLDEBUGGER.error_end
- DBE_PLDEBUGGER.error_info_locals
-
Configuring GUC Parameters
- Viewing Parameters
- Setting Parameters
-
GUC Parameters
- GUC Parameter Usage
- File Location
- Connection and Authentication
- Resource Consumption
- Parallel Data Import
- Write Ahead Log
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Autovacuum
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Cluster Transaction Parameters
- Dual-Cluster Replication Parameters
- Developer Options
- Auditing
- Transaction Monitoring
- CM Parameters
- GTM Parameters
- Upgrade Parameters
- Miscellaneous Parameters
- Wait Event
- Query
- System Performance Snapshot
- Security Configuration
- HyperLogLog
- User-defined Functions
- Scheduled Task
- Thread Pool
- Backup and Restoration
- AI Features
- Global SysCache Parameters
- Read Parameters of the Standby Node in a Distributed System
- Restoring Data on the Standby Node
- Undo
- Rollback Parameters
- DCF Parameters Settings
- Flashback
- Ledger Database
- Creating an Index Online
- Data Lifecycle Management: OLTP Table Compression
- Session-level Transaction Pushdown and Related Parameters
- Enhanced TOAST
- Reserved Parameters
- Appendix
-
FAQs
- What is the maximum number of columns in a single GaussDB table?
- How do I query the partition and index information of a partitioned table?
- What is OID?
- What is UDF?
- What wildcards are supported in GaussDB? How do I use them?
- Is there a limit on the length of a database object name?
- How do I view the creation time of a table?
- How do I create indexes in parallel?
- How do I create an auto-increment column?
- Can I query the GaussDB memory usage through SQL statements?
- What are the differences between LIMIT 2, LIMIT 2,3 and LIMIT 2 OFFSET 3?
- How do I create a column whose default value is the current time?
- How do I determine whether a column is null?
- How do I obtain the username for connecting to a database?
- How do I query the time difference between two time points?
- What are the types of SQL languages?
- What is the function of a trigger?
- What are the four characteristics of correctly executing database transactions?
- What are the differences between the DROP, TRUNCATE, and DELETE methods in GaussDB?
- How many bytes does a Chinese character occupy in GaussDB?
-
Developer Guide(Centralized_8.x)
- Database System Overview
- Database Security
- Database Quick Start
- Development and Design Proposal
-
Application Development Guide
- Development Specifications
- Obtaining the Driver Package
-
Development Based on JDBC
- JDBC Packages, Driver Classes, and Environment Classes
- Development Process
- Loading the Driver
- Connecting to a Database
- Connecting to a Database (Using SSL)
- Connecting to a Database (Using UDS)
- Running SQL Statements
- Processing Data in a Result Set
- Closing a Database Connection
- Log Management
- Examples: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Importing and Exporting Data Through Local Files
- Example: Migrating Data from MY
- 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
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- PGobject
- Common JDBC Parameters
- Troubleshooting
- Mapping for JDBC Data Types
- Development Based on ODBC
- Development Based on libpq
- Psycopg-based Development
- Development Based on the Go Driver
-
ECPG-based Development
- Development Process
- ECPG Components
- ECPG Preprocessing and Compiling
- Managing Database Connections
- Running SQL Commands
- Querying the Result Set
- Closing a Database Connection
- Host Variables
- Executing Dynamic SQL Statements
- Error Handling
- Preprocessor Directives
- Using Library Functions
- SQL Descriptor Area
- Examples
- ecpg and Pro*C Compatibility Comparison
- ECPG API Reference
- Compatibility Reference
- Commissioning
-
SQL Optimization
- Query Execution Process
- Introduction to the SQL Execution Plan
- Optimization Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Typical SQL Optimization Methods
- Experience in Rewriting SQL Statements
- Configuring Key Parameters for SQL Tuning
-
Hint-based Optimization
- Plan Hint Optimization
- Hints for Specifying the Query Block Where the Hint Is Located
- Hints for Specifying the Query Block and Schema of a Table
- Join Order Hints
- Join Operation Hints
- Rows Hints
- Stream Operation Hints
- Scan Operation Hints
- Sublink Name Hints
- Hint Errors, Conflicts, and Other Warnings
- Optimizer GUC Parameter Hints
- Hints for Selecting the Custom Plan or Generic Plan
- Hints Specifying Not to Expand Subqueries
- Hint Specifying Not to Use Global Plan Cache
- Hints of Parameterized Paths at the Same Level
- Hints for Setting Slow SQL Control Rules
- Hint for Adaptive Plan Selection
- Hints for Materializing a Sub-plan Result
- Bitmap Scan Hints
- Hints for Inner Table Materialization During Join
- AGG Hint
- Query Rewriting Hints
- Outline Hints
- Hints for Specifying ANY Sublink Pullup
- Hints for Specifying the Degree of Parallelism for Scans
- Hints for Specifying Whether to Use Semi-Join
- Hints for Specifying the Stream Hashagg Optimization
- Hints for Specifying Whether to Use Minmax Optimization
- Introduction to Plan Trace
- Performing Optimization with SQL Patches
- Optimization Cases
-
SQL Reference
- GaussDB SQL
- Keywords
-
Data Types
- Numeric Types
- Monetary Types
- Boolean Types
- Character Types
- Binary Types
- Date/Time Types
- Geometric Types
- Network Address Types
- Bit String Types
- UUID Type
- JSON/JSONB Types
- HLL Type
- Range Types
- Object Identifier Types
- Pseudo-Types
- XML Type
- XMLType
- Data Types Used by the Ledger Database
- SET Type
- ACLItem Type
- Array Types
- Vector Data Types
-
Character Sets and Collations
- Character Sets and Collations of the Client Connection
- Database-level Character Sets and Collations
- Schema-level Character Sets and Collations
- Table-level Character Sets and Collations
- Column-level Character Sets and Collations
- Character Sets and Collations of Expressions of the String Type
- Rules for Combining Character Sets and Collations
- Constant and Macro
-
Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Pattern Matching Operators
- Arithmetic 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
- Security Functions
- Ledger Database Functions
- Encrypted Functions and Operators
- 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
- DR Control Functions for Dual-Database Instances
- DR Query Functions for Dual-Database Instances
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Logical Replication Functions
- Segment-Page Storage Functions
- Hash Bucket System Functions
- Other Functions
- Undo System Functions
- SPM Functions
- Statistics Information Functions
- Trigger Functions
- Hash Functions
- Prompt Message Function
- Global Temporary Table Functions
- Fault Injection System Function
- AI Feature Functions
- Sensitive Data Discovery Function
- Dynamic Data Masking Functions
- Hierarchical Recursion Query Functions
- Other System Functions
- Internal Functions
- Global SysCache Functions
- Data Damage Detection and Repair Functions
- Functions of the XML Type
- Functions of the XMLType Type
- Global PL/SQL Cache Functions
- Pivot Table Functions
- UUID Functions
- SQL Statement Concurrency Control Function
- Vector Calculation Interfaces and Functions
- Deprecated Functions
- Expressions
- Pseudocolumn
- Type Conversion
- System Operation
- Controlling Transactions
-
SQL Syntax
- SQL Syntax
- DCL Syntax Overview
- DDL Syntax Overview
- DML Syntax Overview
- Other Syntax List
-
A
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER COLUMN ENCRYPTION KEY
- ALTER DATABASE
- ALTER DATABASE LINK
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER EVENT
- ALTER EXTENSION
- ALTER FOREIGN DATA WRAPPER
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER OPERATOR
- ALTER PACKAGE
- ALTER PROCEDURE
- ALTER RESOURCE LABEL
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLE SUBPARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER USER MAPPING
- ALTER VIEW
- ANALYZE | ANALYSE
- B
-
C
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE CAST
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE EVENT
- CREATE EXTENSION
- CREATE FOREIGN DATA WRAPPER
- CREATE FUNCTION
- CREATE GLOBAL INDEX
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE OPERATOR
- CREATE OPERATOR CLASS
- CREATE PACKAGE
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE RULE
- CREATE SCHEMA
- CREATE SECURITY LABEL
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLESPACE
- CREATE TABLE SUBPARTITION
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE USER MAPPING
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
-
D
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AGGREGATE
- DROP AUDIT POLICY
- DROP CAST
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATABASE LINK
- DROP DIRECTORY
- DROP EVENT
- DROP EXTENSION
- DROP FOREIGN DATA WRAPPER
- 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 RESOURCE LABEL
- DROP RESOURCE POOL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP RULE
- DROP SCHEMA
- DROP SECURITY LABEL
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP USER MAPPING
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- E
- F
- G
- I
- L
- M
- P
- R
- S
- T
- U
- V
- Appendix
- Best Practices
- User-defined Functions
-
Stored Procedure
- Stored Procedure
- Data Types
- Data Type Conversion
- Arrays, Collections, and Records
- DECLARE Syntax
- Basic Statements
- Dynamic Statements
- Control Statements
- Transaction Management
- Other Statements
- Cursors
- Advanced Packages
- Retry Management
- Debugging
- Package
- Autonomous Transaction
-
System Catalogs and System Views
- Overview of System Catalogs and System Views
-
System Catalogs
- Partitioned Table
- OLTP Table Compression
- Encrypted Equality Query
- Communications
- Ledger Database
- SPM
- AI
- Auditing
- User and Permission Management
- Connection and Authentication
- Dynamic Data Masking
- DATABASE LINK
- Materialized Views
-
Other System Catalogs
- GS_ASP
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_GLOBAL_CONFIG
- GS_JOB_ARGUMENT
- GS_JOB_ATTRIBUTE
- GS_PACKAGE
- GS_PLAN_TRACE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SECURITY_LABEL
- GS_SQL_PATCH
- GS_STATISTIC_EXT_HISTORY
- GS_STATISTIC_HISTORY
- GS_TABLESTATS_HISTORY
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WORKLOAD_RULE
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_CAST
- PG_CLASS
- PG_COLLATION
- PG_CONSTRAINT
- PG_CONVERSION
- PG_DATABASE
- PG_DEPEND
- PG_DESCRIPTION
- PG_DIRECTORY
- PG_ENUM
- PG_EXTENSION
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- 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_PLTEMPLATE
- PG_PROC
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SET
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SYNONYM
- PG_TABLESPACE
- PG_TRIGGER
- PG_TS_CONFIG
- PG_TS_CONFIG_MAP
- PG_TS_DICT
- PG_TS_PARSER
- PG_TS_TEMPLATE
- PG_TYPE
- PGXC_CLASS
- PGXC_GROUP
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
-
System Views
-
Partitioned Table
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_PART_COL_STATISTICS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_SUBPART_COL_STATISTICS
- ADM_SUBPART_KEY_COLUMNS
- ADM_TAB_SUBPARTITIONS
- ADM_TAB_PARTITIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_PART_COL_STATISTICS
- DB_PART_INDEXES
- DB_PART_KEY_COLUMNS
- DB_PART_TABLES
- DB_SUBPART_COL_STATISTICS
- DB_SUBPART_KEY_COLUMNS
- DB_TAB_PARTITIONS
- DB_TAB_SUBPARTITIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_PART_COL_STATISTICS
- MY_PART_INDEXES
- MY_PART_KEY_COLUMNS
- MY_PART_TABLES
- MY_SUBPART_COL_STATISTICS
- MY_SUBPART_KEY_COLUMNS
- MY_TAB_PARTITIONS
- MY_TAB_SUBPARTITIONS
- GS_STATIO_ALL_PARTITIONS
- GS_STAT_XACT_ALL_PARTITIONS
- GS_STAT_ALL_PARTITIONS
- OLTP Table Compression
- Communications
- Segment-Page Storage
- SPM
- Auditing
-
User and Permission Management
- ADM_COL_PRIVS
- ADM_ROLE_PRIVS
- ADM_ROLES
- ADM_SYS_PRIVS
- ADM_TAB_PRIVS
- ADM_USERS
- DB_COL_PRIVS
- DB_DIRECTORIES
- DB_TAB_PRIVS
- DB_USERS
- GS_DB_PRIVILEGES
- GS_LABELS
- MY_COL_PRIVS
- MY_ROLE_PRIVS
- MY_SYS_PRIVS
- PG_RLSPOLICIES
- PG_ROLES
- PG_SECLABELS
- PG_SHADOW
- PG_USER
- PG_USER_MAPPINGS
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- Dynamic Data Masking
- Transparent Encryption
- DATABASE LINK
- Materialized Views
-
Other System Views
- ADM_ARGUMENTS
- ADM_COL_COMMENTS
- ADM_COLL_TYPES
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_DEPENDENCIES
- ADM_DIRECTORIES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_HIST_SQLTEXT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PROCEDURES
- ADM_RECYCLEBIN
- ADM_SCHEDULER_JOB_ARGS
- ADM_SCHEDULER_JOBS
- ADM_SCHEDULER_PROGRAM_ARGS
- ADM_SCHEDULER_PROGRAMS
- ADM_SCHEDULER_RUNNING_JOBS
- ADM_SEGMENTS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_COL_STATISTICS
- ADM_TAB_COLS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_HISTOGRAMS
- ADM_TAB_STATISTICS
- ADM_TAB_STATS_HISTORY
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_TYPES
- ADM_VIEWS
- DB_ARGUMENTS
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_COLL_TYPES
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_ERRORS
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PROCEDURES
- DB_SCHEDULER_JOB_ARGS
- DB_SCHEDULER_PROGRAM_ARGS
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_COL_STATISTICS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_HISTOGRAMS
- DB_TAB_MODIFICATIONS
- DB_TAB_STATS_HISTORY
- DB_TABLES
- DB_TRIGGERS
- DB_TYPES
- DB_VIEWS
- DICT
- DICTIONARY
- DUAL
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GS_ALL_CONTROL_GROUP_INFO
- GS_ALL_PREPARED_STATEMENTS
- GS_COMM_PROXY_THREAD_STATUS
- GS_FILE_STAT
- GS_GET_CONTROL_GROUP_INFO
- GS_GLC_MEMORY_DETAIL
- GS_GLOBAL_ARCHIVE_STATUS
- GS_GSC_MEMORY_DETAIL
- GS_INSTANCE_TIME
- GS_LSC_MEMORY_DETAIL
- GS_MY_PLAN_TRACE
- GS_OS_RUN_INFO
- GS_REDO_STAT
- GS_SESSION_ALL_SETTINGS
- GS_SESSION_MEMORY
- GS_SESSION_MEMORY_CONTEXT
- GS_SESSION_MEMORY_DETAIL
- GS_SESSION_STAT
- GS_SESSION_TIME
- GS_SHARED_MEMORY_DETAIL
- GS_SQL_COUNT
- GS_THREAD_MEMORY_CONTEXT
- GS_TOTAL_MEMORY_DETAIL
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_WORKLOAD_RULE_STAT
- GV_INSTANCE
- GV_SESSION
- MPP_TABLES
- MY_AUDIT_TRAIL
- MY_COL_COMMENTS
- MY_COLL_TYPES
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_DEPENDENCIES
- MY_ERRORS
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PROCEDURES
- MY_RECYCLEBIN
- MY_SCHEDULER_JOB_ARGS
- MY_SCHEDULER_JOBS
- MY_SCHEDULER_PROGRAM_ARGS
- MY_SEQUENCES
- MY_SOURCE
- MY_SYNONYMS
- MY_TAB_COL_STATISTICS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_HISTOGRAMS
- MY_TAB_MODIFICATIONS
- MY_TAB_STATS_HISTORY
- MY_TAB_STATISTICS
- MY_TABLES
- MY_TABLESPACES
- MY_TRIGGERS
- MY_TYPE_ATTRS
- MY_TYPES
- MY_VIEWS
- NLS_DATABASE_PARAMETERS
- NLS_INSTANCE_PARAMETERS
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_CONTROL_GROUP_CONFIG
- PG_CURSORS
- PG_EXT_STATS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_GTT_RELSTATS
- PG_GTT_STATS
- PG_GTT_ATTACHED_PIDS
- PG_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_ORIGIN_STATUS
- PG_REPLICATION_SLOTS
- PG_RULES
- PG_RUNNING_XACTS
- PG_SETTINGS
- PG_STATS
- 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_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_TABLES
- 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_VARIABLE_INFO
- PG_VIEWS
- PGXC_PREPARED_XACTS
- PGXC_THREAD_WAIT_STATUS
- PLAN_TABLE
- SYS_DUMMY
- V_INSTANCE
- V_MYSTAT
- V_SESSION
- V$GLOBAL_TRANSACTION
- V$LOCK
- V$NLS_PARAMETERS
- V$OPEN_CURSOR
- V$SESSION_WAIT
- V$SYSSTAT
- V$SYSTEM_EVENT
- V$VERSION
-
Partitioned Table
- Discarded
-
Schemas
- Information Schema
-
DBE_PERF Schema
- 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
- LOCAL_ACTIVE_SESSION
- Transaction
- Query
-
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
-
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_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- PARALLEL_DECODE_STATUS
- GLOBAL_PARALLEL_DECODE_STATUS
- PARALLEL_DECODE_THREAD_INFO
- GLOBAL_PARALLEL_DECODE_THREAD_INFO
- GLOBAL_ADIO_COMPLETER_STATUS
- GLOBAL_AIO_SLOT_USAGE_STATUS
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- AI Watchdog
- WDR Snapshot Schema
-
DBE_PLDEBUGGER Schema
- 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.enable_breakpoint
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DBE_PLDEBUGGER.error_backtrace
- DBE_PLDEBUGGER.error_end
- DBE_PLDEBUGGER.error_info_locals
- DB4AI Schema
- DBE_PLDEVELOPER
- DBE_SQL_UTIL Schema
-
Configuring GUC Parameters
- Viewing Parameters
- Setting Parameters
-
GUC Parameters
- GUC Parameter Usage
- File Location
- Connection and Authentication
- Resource Consumption
- Data Import and Export
- Write Ahead Log
- HA Replication
- Query Planning
- SPM
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Autovacuum
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Transaction
- Replication Parameters of Two Database Instances
- Developer Options
- Auditing
- CM Parameters
- Upgrade Parameters
- Miscellaneous Parameters
- Wait Events
- Query
- System Performance Snapshot
- Security Configuration
- Global Temporary Table
- HyperLogLog
- User-defined Functions
- Scheduled Task
- Thread Pool
- Backup and Restoration
- Undo
- DCF Parameters Settings
- Flashback
- Rollback Parameters
- AI Features
- Global SysCache Parameters
- Restoring Data on the Standby Node
- Delimiter
- Global PL/SQL Cache Parameters
- Ledger Database
- Creating an Index Online
- Data Lifecycle Management: OLTP Table Compression
- Vector Database Parameters
- Enhanced TOAST
- Reserved Parameters
-
FAQ
- What is the maximum number of columns in a single GaussDB table?
- How do I query the partition and index information of a partitioned table?
- What is OID?
- What is UDF?
- What wildcards are supported in GaussDB? How do I use them?
- Is there a limit on the length of a database object name?
- How do I view the creation time of a table?
- How do I create indexes in parallel?
- How do I create an auto-increment column?
- Can I query the GaussDB memory usage through SQL statements?
- What are the differences between LIMIT 2, LIMIT 2,3 and LIMIT 2 OFFSET 3?
- How do I create a column whose default value is the current time?
- How do I determine whether a column is null?
- How do I obtain the username for connecting to a database?
- How do I query the time difference between two time points?
- What are the types of SQL languages?
- What is the function of a trigger?
- What are the four characteristics of correctly executing database transactions?
- What are the differences between the DROP, TRUNCATE, and DELETE methods in GaussDB?
- How many bytes does a Chinese character occupy in GaussDB?
-
Developer Guide(Distributed_3.x)
- Database System Overview
- Database Security
- Database Quick Start
- Development and Design Proposal
-
Application Development Guide
- Development Specifications
- Obtaining the Driver Package
-
Development Based on JDBC
- JDBC Package, Driver Class, and Environment Class
- Development Process
- Loading a Driver
- Connecting to a Database
- Connecting to a Database (Using SSL)
- Connecting to a Database (Using UDS)
- Running SQL Statements
- Processing Data in a Result Set
- Closing a Connection
- Log Management
- Examples: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Logical Replication Code
- Example: Parameters for Connecting to the Database in Different Scenarios
-
JDBC Interface 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
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- Common JDBC Parameters
- FAQs
- Mapping for JDBC Data Types
- Development Based on ODBC
- Development Based on libpq
- Psycopg-based Development
-
ECPG-based Development
- Development Process
- ecpg Components
- ecpg Preprocessing and Compiling
- Managing Database Connections
- Running SQL Commands
- Querying the Result Set
- Closing a Database Connection
- Host Variables
- Executing Dynamic SQL Statements
- Error Handling
- Preprocessor Directives
- Using Library Functions
- SQL Descriptor Area
- Examples
- ecpg and Pro*C Compatibility Comparison
- ECPG API Reference
- Development Based on the Go Driver
- Debugging
-
SQL Optimization
- Query Execution Process
- Introduction to the SQL Execution Plan
- Optimization Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Typical SQL Optimization Methods
- Experience in Rewriting SQL Statements
- Configuring Key Parameters for SQL Tuning
-
Hint-based Tuning
- Plan Hint Optimization
- Hint Specifying the Query Block Where the Hint Is Located
- Hint Specifying the Query Block and Schema of a Table
- Join Order Hints
- Join Operation Hints
- Rows Hints
- Stream Operation Hints
- Scan Hints
- Sublink Name Hints
- Skew Hints
- Parameterized Path Hint
- Hint Errors, Conflicts, and Other Warnings
- GUC Parameter Hints
- Hints for Selecting the Custom Plan or Generic Plan
- Hints Specifying Not to Expand Subqueries
- Hints Specifying Not to Use Global Plan Cache
- Hint of Parameterized Paths at the Same Level
- Hint for Setting Slow SQL Control Rules
- Bitmap Scan Hints
- Hint for Inner Table Materialization During Join
- AGG Hint
- Checking the Implicit Conversion Performance
- Tuning with SQL PATCH
-
Optimization Cases
- Case: Selecting an Appropriate Distribution Key
- Case: Creating an Appropriate Index
- Case: Adjusting Distribution Keys
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL and Deleting Subqueries (1)
- Case: Rewriting SQL Statements to Eliminate Pruning Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Modifying the GUC Parameter rewrite_rule
- Using DN Gather to Reduce Stream Nodes in the Plan
-
SQL Reference
- SQL
- Keywords
- Data Type
- Constant and Macro
-
Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Pattern Matching Operators
- Arithmetic 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
- Security Functions
- Encrypted Functions and Operators
- 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
- Dual-Cluster DR Control Functions
- Dual-Cluster DR Query Functions
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Logical Replication Functions
- Undo System Functions
- Other Functions
- SQL Statement Concurrency Control Function
- Statistics Information Functions
- Trigger Functions
- Hash Function
- Prompt Message Function
- Fault Injection System Function
- Redistribution Parameters
- Distribution Key Recommendation Functions
- Other System Functions
- Internal Functions
- AI Feature Functions
- Dynamic Data Masking Functions
- Hotkey Feature Functions
- Global SysCache Functions
- Data Damage Detection and Repair Functions
- Functions of the XML Type
- Functions of the XMLType Type
- Obsolete Functions
- Expressions
- Pseudocolumn
- Type Conversion
- System Operation
- Controlling Transactions
- DDL Syntax Overview
- DML Syntax Overview
- DCL Syntax Overview
-
SQL Syntax
- SQL Syntax
- ABORT
- ALTER AUDIT POLICY
- ALTER COLUMN ENCRYPTION KEY
- ALTER COORDINATOR
- ALTER DATABASE
- ALTER DATABASE LINK
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FOREIGN DATA WRAPPER
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NODE
- ALTER NODE GROUP
- ALTER RESOURCE LABEL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- ANALYZE | ANALYSE
- BEGIN
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE AUDIT POLICY
- CREATE BARRIER
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE FOREIGN DATA WRAPPER
- CREATE FUNCTION
- CREATE GLOBAL INDEX
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE NODE
- CREATE NODE GROUP
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLESPACE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP AUDIT POLICY
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATABASE LINK
- DROP DIRECTORY
- DROP FOREIGN DATA WRAPPER
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP MODEL
- DROP NODE
- DROP NODE GROUP
- DROP OWNED
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- EXECUTE
- EXECUTE DIRECT
- EXPDP DATABASE
- EXPDP TABLE
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- IMPDP DATABASE CREATE
- IMPDP RECOVER
- INSERT
- IMPDP TABLE
- IMPDP TABLE PREPARE
- LOCK
- MOVE
- MERGE INTO
- PREDICT BY
- PREPARE
- PREPARE TRANSACTION
- PURGE
- REASSIGN OWNED
- REINDEX
- REFRESH INCREMENTAL MATERIALIZED VIEW
- REFRESH MATERIALIZED VIEW
- 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
- START TRANSACTION
- TIMECAPSULE TABLE
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- Appendix
- Best Practices
- User-defined Functions
- Stored Procedures
- Autonomous Transaction
-
System Catalogs and System Views
- Overview of System Catalogs and System Views
-
System Catalogs
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_ASP
- GS_CLIENT_GLOBAL_KEYS
- GS_CLIENT_GLOBAL_KEYS_ARGS
- GS_COLUMN_KEYS
- GS_COLUMN_KEYS_ARGS
- GS_DATABASE_LINK
- GS_DB_PRIVILEGE
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_ENCRYPTED_COLUMNS
- GS_ENCRYPTED_PROC
- GS_GLOBAL_CONFIG
- GS_JOB_ATTRIBUTE
- GS_JOB_ARGUMENT
- GS_MASKING_POLICY
- GS_MASKING_POLICY_ACTIONS
- GS_MASKING_POLICY_FILTERS
- GS_MATVIEW
- GS_MATVIEW_DEPENDENCY
- GS_MODEL_WAREHOUSE
- GS_OPT_MODEL
- GS_PLAN_TRACE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WORKLOAD_RULE
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_APP_WORKLOADGROUP_MAPPING
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- 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_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- 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_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_RLSPOLICY
- PG_SECLABEL
- PG_SET
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- 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
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PGXC_REDISTB
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
-
System Views
- ADM_ARGUMENTS
- ADM_AUDIT_OBJECT
- ADM_AUDIT_SESSION
- ADM_AUDIT_STATEMENT
- ADM_AUDIT_TRAIL
- ADM_COL_COMMENTS
- ADM_COL_PRIVS
- ADM_COLL_TYPES
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_DEPENDENCIES
- ADM_DIRECTORIES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_HIST_SQLTEXT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PART_COL_STATISTICS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_ROLE_PRIVS
- ADM_ROLES
- ADM_SCHEDULER_JOB_ARGS
- ADM_SCHEDULER_JOBS
- ADM_SCHEDULER_PROGRAM_ARGS
- ADM_SCHEDULER_PROGRAMS
- ADM_SCHEDULER_RUNNING_JOBS
- ADM_SEGMENTS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SUBPART_KEY_COLUMNS
- ADM_SYNONYMS
- ADM_SYS_PRIVS
- ADM_TAB_COLS
- ADM_TAB_COL_STATISTICS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_HISTOGRAMS
- ADM_TAB_PARTITIONS
- ADM_TAB_PRIVS
- ADM_TAB_STATISTICS
- ADM_TAB_STATS_HISTORY
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPES
- ADM_TYPE_ATTRS
- ADM_USERS
- ADM_VIEWS
- COMM_CLIENT_INFO
- DB_ALL_TABLES
- DB_ARGUMENTS
- DB_COL_COMMENTS
- DB_COL_PRIVS
- DB_COLL_TYPES
- DB_CONSTRAINTS
- DB_CONS_COLUMNS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PART_COL_STATISTICS
- DB_PART_KEY_COLUMNS
- DB_PART_TABLES
- DB_PROCEDURES
- DB_SCHEDULER_JOB_ARGS
- DB_SCHEDULER_PROGRAM_ARGS
- DB_SEQUENCES
- DB_SOURCE
- DB_SUBPART_KEY_COLUMNS
- DB_SYNONYMS
- DB_TAB_COL_STATISTICS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_HISTOGRAMS
- DB_TAB_PARTITIONS
- DB_TAB_STATS_HISTORY
- DB_TAB_SUBPARTITIONS
- DB_TABLES
- DB_TRIGGERS
- DB_TYPES
- DB_USERS
- DB_VIEWS
- DICT
- DICTIONARY
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GET_GLOBAL_PREPARED_XACTS
- GLOBAL_BAD_BLOCK_INFO
- GLOBAL_CLEAR_BAD_BLOCK_INFO
- GLOBAL_COMM_CLIENT_INFO
- GLOBAL_SQL_PATCH
- GLOBAL_STAT_HOTKEYS_INFO
- GLOBAL_WAL_SENDER_STATUS
- GS_ALL_CONTROL_GROUP_INFO
- GS_ALL_PREPARED_STATEMENTS
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_COMM_LISTEN_ADDRESS_EXT_INFO
- GS_DB_LINKS
- GS_DB_PRIVILEGES
- GS_GET_CONTROL_GROUP_INFO
- GS_GET_LISTEN_ADDRESS_EXT_INFO
- GS_GLOBAL_ARCHIVE_STATUS
- GS_GSC_MEMORY_DETAIL
- GS_LABELS
- GS_LSC_MEMORY_DETAIL
- GS_MASKING
- GS_MATVIEWS
- GS_MY_PLAN_TRACE
- GS_SESSION_ALL_SETTINGS
- GS_SQL_COUNT
- GS_STAT_ALL_PARTITIONS
- GS_STAT_XACT_ALL_PARTITIONS
- GS_STATIO_ALL_PARTITIONS
- GS_WORKLOAD_RULE_STAT
- GV_INSTANCE
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_COL_PRIVS
- MY_COLL_TYPES
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_DEPENDENCIES
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PART_COL_STATISTICS
- MY_PART_INDEXES
- MY_PART_KEY_COLUMNS
- MY_PART_TABLES
- MY_PROCEDURES
- MY_ROLE_PRIVS
- MY_SCHEDULER_JOB_ARGS
- MY_SCHEDULER_PROGRAM_ARGS
- MY_SEQUENCES
- MY_SOURCE
- MY_SUBPART_KEY_COLUMNS
- MY_SYNONYMS
- MY_SYS_PRIVS
- MY_TAB_COL_STATISTICS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_HISTOGRAMS
- MY_TAB_PARTITIONS
- MY_TAB_STATISTICS
- MY_TAB_STATS_HISTORY
- MY_TABLES
- MY_TABLESPACES
- MY_TRIGGERS
- MY_TYPE_ATTRS
- MY_TYPES
- MY_VIEWS
- NLS_DATABASE_PARAMETERS
- NLS_INSTANCE_PARAMETERS
- 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_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- PG_PREPARED_STATEMENTS
- PG_PREPARED_XACTS
- PG_REPLICATION_SLOTS
- PG_RLSPOLICIES
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- PG_SETTINGS
- PG_SHADOW
- PG_SHARED_MEMORY_DETAIL
- PG_STAT_ACTIVITY
- 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_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_STATS
- 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_THREAD_WAIT_STATUS
- PG_TABLES
- PG_TDE_INFO
- 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
- PGXC_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_TABLE_SKEWNESS
- PGXC_NODE_ENV
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_RUNNING_XACTS
- PGXC_SQL_COUNT
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_VARIABLE_INFO
- PLAN_TABLE
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_REDO_STAT
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_CONTEXT
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_THREAD_MEMORY_CONTEXT
- PV_TOTAL_MEMORY_DETAIL
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- SYS_DUMMY
- V_INSTANCE
- V_MYSTAT
- V_SESSION
- V$NLS_PARAMETERS
- V$SESSION_WAIT
- V$SYSSTAT
- V$SYSTEM_EVENT
- V$VERSION
-
Schemas
- Information Schema
-
DBE_PERF Schema
- 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 and 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
- LOCAL_ACTIVE_SESSION
- GLOBAL_ACTIVE_SESSION
- Transaction
- Query
-
Cache and I/O
- 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
- Communication Library
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- PARALLEL_DECODE_STATUS
- GLOBAL_PARALLEL_DECODE_STATUS
- PARALLEL_DECODE_THREAD_INFO
- GLOBAL_PARALLEL_DECODE_THREAD_INFO
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- POOLER_STATUS
- GLOBAL_COMM_CHECK_CONNECTION_STATUS
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_POOLER_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 Event
- Configuration
- Operator
- Workload Manager
- Global Plan Cache
- RTO & RPO
- AI Watchdog
- Discarded
- WDR Snapshot Schema
-
DBE_SQL_UTIL Schema
- DBE_SQL_UTIL.create_hint_sql_patch
- DBE_SQL_UTIL.create_abort_sql_patch
- DBE_SQL_UTIL.drop_sql_patch
- DBE_SQL_UTIL.enable_sql_patch
- DBE_SQL_UTIL.disable_sql_patch
- DBE_SQL_UTIL.show_sql_patch
- DBE_SQL_UTIL.create_hint_sql_patch
- DBE_SQL_UTIL.create_abort_sql_patch
- DBE_SQL_UTIL.create_remote_hint_sql_patch
- DBE_SQL_UTIL.create_remote_abort_sql_patch
- DBE_SQL_UTIL.drop_remote_sql_patch
- DBE_SQL_UTIL.enable_remote_sql_patch
- DBE_SQL_UTIL.disable_remote_sql_patch
-
Configuring Running Parameters
- Viewing Parameters
- Setting Parameters
-
GUC Parameters
- GUC Parameter Usage
- File Location
- Connection and Authentication
- Resource Consumption
- Parallel Data Import
- Write Ahead Log
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Automatic Vacuuming
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Cluster Transaction Parameters
- Dual-Cluster Replication Parameters
- Developer Options
- Auditing
- Transaction Monitoring
- CM Parameters
- GTM Parameters
- Upgrade Parameters
- Miscellaneous Parameters
- Wait Event
- Query
- System Performance Snapshot
- Security Configuration
- HyperLogLog
- User-defined Functions
- Collaborative Analysis
- Acceleration Cluster
- Scheduled Task
- Thread Pool
- Full Text Search
- Backup and Restoration
- AI Features
- Global SysCache Parameters
- Reserved Parameters
- Read Parameters of the Standby Node in a Distributed System
- Restoring Data on the Standby Node
- Undo
- Rollback Parameters
- DCF Parameters Settings
- Flashback
-
Developer Guide(Centralized_3.x)
- Database System Overview
- Database Security
- Database Quick Start
- Development and Design Proposal
-
Application Development Guide
- Development Specifications
- Obtaining the Driver Package
-
Development Based on JDBC
- JDBC Package, Driver Class, and Environment Class
- Development Process
- Loading a Driver
- Connecting to a Database
- Connecting to a Database (Using SSL)
- Connecting to a Database (Using UDS)
- Running SQL Statements
- Processing Data in a Result Set
- Closing a Connection
- Log Management
- Examples: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Importing and Exporting Data Through Local Files
- Example: Migrating Data from MY
- Example: Logical 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
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- PGobject
- Common JDBC Parameters
- Troubleshooting
- Mapping for JDBC Data Types
- Development Based on ODBC
- Development Based on libpq
- Psycopg-based Development
- Development Based on the Go Driver
-
ECPG-based Development
- Development Process
- ecpg Components
- ecpg Preprocessing and Compiling
- Managing Database Connections
- Running SQL Commands
- Querying the Result Set
- Closing a Database Connection
- Host Variables
- Executing Dynamic SQL Statements
- Error Handling
- Preprocessor Directives
- Using Library Functions
- SQL Descriptor Area
- Examples
- ECPG API Reference
- Debugging
-
SQL Optimization
- Query Execution Process
- Introduction to the SQL Execution Plan
- Optimization Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Typical SQL Optimization Methods
- Experience in Rewriting SQL Statements
- Configuring Key Parameters for SQL Tuning
-
Hint-based Tuning
- Plan Hint Optimization
- Hint Specifying the Query Block Where the Hint Is Located
- Hint Specifying the Query Block and Schema of a Table
- Join Order Hints
- Join Operation Hints
- Rows Hints
- Stream Operation Hints
- Scan Operation Hints
- Sublink Name Hints
- Hint Errors, Conflicts, and Other Warnings
- Optimizer GUC Parameter Hints
- Hint for Selecting the Custom Plan or Generic Plan
- Hints Specifying Not to Expand Subqueries
- Hint Specifying Not to Use Global Plan Cache
- Hint of Parameterized Paths at the Same Level
- Hint for Setting Slow SQL Control Rules
- Hint for Adaptive Plan Selection
- Hint for Materializing a Sub-plan Result
- Bitmap Scan Hints
- Hint for Inner Table Materialization During Join
- AGG Hint
- Introduction to Plan Trace
- Tuning with SQL PATCH
- Optimization Cases
-
SQL Reference
- SQL
- Keywords
- Data Types
- Constant and Macro
-
Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Pattern Matching Operators
- Arithmetic 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
- Security Functions
- Encrypted Functions and Operators
- 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
- DR Control Functions for Dual-Database Instances
- DR Query Functions for Dual-Database Instances
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Logical Replication Functions
- Other Functions
- Undo System Functions
- SQL Statement Concurrency Control Function
- 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
- Hierarchical Recursion Query Functions
- Other System Functions
- Internal Functions
- Global SysCache Functions
- Data Damage Detection and Repair Functions
- Functions of the XML Type
- Functions of the XMLType Type
- Global PL/SQL Cache Functions
- Obsolete Functions
- Expressions
- Pseudocolumn
- Type Conversion
- System Operation
- Controlling Transactions
- DDL Syntax Overview
- DML Syntax Overview
- DCL Syntax Overview
-
SQL Syntax
- SQL Syntax
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER COLUMN ENCRYPTION KEY
- ALTER EVENT
- ALTER DATABASE
- ALTER DATABASE LINK
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FOREIGN DATA WRAPPER
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER OPERATOR
- ALTER PACKAGE
- ALTER PROCEDURE
- ALTER RESOURCE LABEL
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLE SUBPARTITION
- ALTER TABLESPACE
- 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
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE CAST
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE EVENT
- CREATE FOREIGN DATA WRAPPER
- CREATE FUNCTION
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE OPERATOR
- CREATE OPERATOR CLASS
- CREATE PACKAGE
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE RULE
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLESPACE
- CREATE TABLE SUBPARTITION
- 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 DATABASE LINK
- DROP DIRECTORY
- DROP EVENT
- DROP FOREIGN DATA WRAPPER
- 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 RESOURCE LABEL
- DROP RESOURCE POOL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP RULE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP USER MAPPING
- DROP VIEW
- DROP WEAK PASSWORD DICTIONARY
- EXECUTE
- EXPDP DATABASE
- EXPDP TABLE
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- IMPDP DATABASE CREATE
- IMPDP RECOVER
- IMPDP TABLE
- IMPDP TABLE PREPARE
- 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
- SHOW EVENTS
- SHUTDOWN
- SNAPSHOT
- START TRANSACTION
- TIMECAPSULE TABLE
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- ALTER EXTENSION
- CREATE EXTENSION
- DROP EXTENSION
- Appendix
- Best Practices
- User-defined Functions
- Stored Procedure
- Autonomous Transaction
-
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_DATABASE_LINK
- GS_DB_PRIVILEGE
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_ENCRYPTED_COLUMNS
- GS_ENCRYPTED_PROC
- GS_GLOBAL_CONFIG
- GS_JOB_ARGUMENT
- GS_JOB_ATTRIBUTE
- 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_PLAN_TRACE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WORKLOAD_RULE
- PG_AGGREGATE
- PG_AM
- PG_AMOP
- PG_AMPROC
- PG_APP_WORKLOADGROUP_MAPPING
- PG_ATTRDEF
- PG_ATTRIBUTE
- PG_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- 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_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- 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_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_RLSPOLICY
- PG_SECLABEL
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_SET
- PG_STATISTIC
- PG_STATISTIC_EXT
- 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
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
-
System Views
- ADM_ARGUMENTS
- ADM_AUDIT_OBJECT
- ADM_AUDIT_SESSION
- ADM_AUDIT_STATEMENT
- ADM_AUDIT_TRAIL
- ADM_COL_COMMENTS
- ADM_COL_PRIVS
- ADM_COLL_TYPES
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_DEPENDENCIES
- ADM_DIRECTORIES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_HIST_SQLTEXT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PART_COL_STATISTICS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_RECYCLEBIN
- ADM_ROLE_PRIVS
- ADM_ROLES
- ADM_SCHEDULER_JOB_ARGS
- ADM_SCHEDULER_JOBS
- ADM_SCHEDULER_PROGRAM_ARGS
- ADM_SCHEDULER_PROGRAMS
- ADM_SCHEDULER_RUNNING_JOBS
- ADM_SEGMENTS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SUBPART_COL_STATISTICS
- ADM_SUBPART_KEY_COLUMNS
- ADM_SYNONYMS
- ADM_SYS_PRIVS
- ADM_TAB_COL_STATISTICS
- ADM_TAB_COLS
- ADM_TAB_HISTOGRAMS
- ADM_TAB_PRIVS
- ADM_TAB_STATISTICS
- ADM_TAB_STATS_HISTORY
- ADM_TAB_SUBPARTITIONS
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_PARTITIONS
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_TYPES
- ADM_USERS
- ADM_VIEWS
- DB_ALL_TABLES
- DB_ARGUMENTS
- DB_COL_COMMENTS
- DB_COL_PRIVS
- DB_COLL_TYPES
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_ERRORS
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PART_COL_STATISTICS
- DB_PART_INDEXES
- DB_PART_KEY_COLUMNS
- DB_PART_TABLES
- DB_PROCEDURES
- DB_SCHEDULER_JOB_ARGS
- DB_SCHEDULER_PROGRAM_ARGS
- DB_SEQUENCES
- DB_SOURCE
- DB_SUBPART_COL_STATISTICS
- DB_SUBPART_KEY_COLUMNS
- DB_SYNONYMS
- DB_TAB_COL_STATISTICS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_HISTOGRAMS
- DB_TAB_PARTITIONS
- DB_TAB_STATS_HISTORY
- DB_TAB_SUBPARTITIONS
- DB_TABLES
- DB_TRIGGERS
- DB_TYPES
- DB_USERS
- DB_VIEWS
- DICT
- DICTIONARY
- DV_SESSION_LONGOPS
- DV_SESSIONS
- GS_ALL_CONTROL_GROUP_INFO
- GS_ALL_PREPARED_STATEMENTS
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_COMM_LISTEN_ADDRESS_EXT_INFO
- GS_COMM_PROXY_THREAD_STATUS
- GS_DB_LINKS
- GS_DB_PRIVILEGES
- GS_FILE_STAT
- GS_GET_CONTROL_GROUP_INFO
- GS_GET_LISTEN_ADDRESS_EXT_INFO
- GS_GLC_MEMORY_DETAIL
- GS_GLOBAL_ARCHIVE_STATUS
- GS_GSC_MEMORY_DETAIL
- GS_INSTANCE_TIME
- GS_LABELS
- GS_LSC_MEMORY_DETAIL
- GS_MASKING
- GS_MATVIEWS
- GS_MY_PLAN_TRACE
- GS_OS_RUN_INFO
- GS_REDO_STAT
- GS_SESSION_ALL_SETTINGS
- GS_SESSION_MEMORY
- GS_SESSION_MEMORY_CONTEXT
- GS_SESSION_MEMORY_DETAIL
- GS_SESSION_STAT
- GS_SESSION_TIME
- GS_SQL_COUNT
- GS_STAT_ALL_PARTITIONS
- GS_STAT_XACT_ALL_PARTITIONS
- GS_STATIO_ALL_PARTITIONS
- GS_THREAD_MEMORY_CONTEXT
- GS_TOTAL_MEMORY_DETAIL
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_WLM_WORKLOAD_RECORDS
- GS_WORKLOAD_RULE_STAT
- GV_INSTANCE
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_COL_PRIVS
- MY_COLL_TYPES
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_DEPENDENCIES
- MY_ERRORS
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_INDEXES
- MY_JOBS
- MY_OBJECTS
- MY_PART_COL_STATISTICS
- MY_PART_INDEXES
- MY_PART_KEY_COLUMNS
- MY_PART_TABLES
- MY_PROCEDURES
- MY_RECYCLEBIN
- MY_ROLE_PRIVS
- MY_SCHEDULER_JOB_ARGS
- MY_SCHEDULER_PROGRAM_ARGS
- MY_SEQUENCES
- MY_SOURCE
- MY_SUBPART_COL_STATISTICS
- MY_SUBPART_KEY_COLUMNS
- MY_SYNONYMS
- MY_SYS_PRIVS
- MY_TAB_COL_STATISTICS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_HISTOGRAMS
- MY_TAB_PARTITIONS
- MY_TAB_STATISTICS
- MY_TAB_STATS_HISTORY
- MY_TAB_SUBPARTITIONS
- MY_TABLES
- MY_TABLESPACES
- MY_TRIGGERS
- MY_TYPE_ATTRS
- MY_TYPES
- MY_VIEWS
- NLS_DATABASE_PARAMETERS
- NLS_INSTANCE_PARAMETERS
- 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_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_REPLICATION_ORIGIN_STATUS
- PG_REPLICATION_SLOTS
- PG_RLSPOLICIES
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- 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_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_STATS
- 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_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
- PGXC_PREPARED_XACTS
- PGXC_THREAD_WAIT_STATUS
- PLAN_TABLE
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- SYS_DUMMY
- V_INSTANCE
- V_MYSTAT
- V_SESSION
- V$GLOBAL_TRANSACTION
- V$NLS_PARAMETERS
- V$SESSION_WAIT
- V$SYSSTAT
- V$SYSTEM_EVENT
- V$VERSION
- Discarded
-
Schemas
- Information Schema
-
DBE_PERF Schema
- 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
- LOCAL_ACTIVE_SESSION
- Transaction
- Query
-
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
-
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_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- PARALLEL_DECODE_STATUS
- GLOBAL_PARALLEL_DECODE_STATUS
- PARALLEL_DECODE_THREAD_INFO
- GLOBAL_PARALLEL_DECODE_THREAD_INFO
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- AI Watchdog
- Discarded
- WDR Snapshot Schema
-
DBE_PLDEBUGGER Schema
- 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.enable_breakpoint
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DB4AI Schema
- DBE_PLDEVELOPER
- DBE_SQL_UTIL Schema
-
Configuring Running Parameters
- Viewing Parameters
- Setting Parameters
-
GUC Parameters
- GUC Parameter Usage
- File Location
- Connection and Authentication
- Resource Consumption
- Data Import and Export
- Write Ahead Log
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Automatic Vacuuming
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Transaction
- Replication Parameters of Two Database Instances
- Developer Options
- Auditing
- CM Parameters
- Upgrade Parameters
- Miscellaneous Parameters
- Wait Events
- Query
- System Performance Snapshot
- Security Configuration
- Global Temporary Table
- HyperLogLog
- User-defined Functions
- Scheduled Task
- Thread Pool
- Backup and Restoration
- Undo
- DCF Parameters Settings
- Flashback
- Rollback Parameters
- Reserved Parameters
- AI Features
- Global SysCache Parameters
- Parameters Related to the Efficient Data Compression Algorithm
- Restoring Data on the Standby Node
- Delimiter
- Global PL/SQL Cache Parameters
-
Developer Guide(Distributed_2.x)
- Overview
- Working with Databases
- Development and Design Proposal
- Best Practices
-
Tutorial: Using GDS to Import Data from a Remote Server
- Overview
- Prerequisites
- Step 1: Preparing Source Data
- Step 2: Installing, Configuring, and Starting GDS on a Data Server
- Step 3: Creating a Foreign Table in GaussDB
- Step 4: Importing Data to GaussDB
- Step 5: Analyzing and Handling Import Errors
- Step 6: Improving Query Efficiency After Data Import
- Step 7: Stopping GDS
- Step 8: Cleaning Up Resources
-
Application Development Guide
- Development Specifications
- Obtaining the Driver Package
-
Development Based on JDBC
- JDBC Package, Driver Class, and Environment Class
- Development Process
- Loading a Driver
- Connecting to a Database
- Connecting to the Database (Using SSL)
- Connecting to a Database (Using UDS)
- Running SQL Statements
- Processing Data in a Result Set
- Closing a Connection
- Log Management
- Example: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Importing and Exporting Data Through Local Files
- Example: Migrating Data from MySQL
- Example: Logic Replication Code
- Example: Parameters for Connecting to the Database in Different Scenarios
- JDBC Interface Reference
- Development Based on ODBC
- Development Based on libpq
- Psycopg-based Development
- Database Security Management
-
Importing Data
- Importing Data in Parallel Using Foreign Tables
- Running the INSERT Statement to Insert Data
- Running the COPY FROM STDIN Statement to Import Data
- Using a gsql Meta-Command to Import Data
- Updating Data in a Table
- Deep Copy
- Checking for Data Skew
- Analyzing Tables
- Doing VACUUM to a Table
- Managing Concurrent Write Operations
- Exporting Data
-
Performance Tuning
- Overview
- Determining the Scope of Performance Tuning
-
SQL Optimization
- Query Execution Process
- Introduction to the SQL Execution Plan
- Optimization Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Typical SQL Optimization Methods
- Experience in Rewriting SQL Statements
- Configuring Key Parameters for SQL Tuning
-
Hint-based Tuning
- Plan Hint Optimization
- Join Order Hints
- Join Operation Hints
- Rows Hints
- Stream Operation Hints
- Scan Operation Hints
- Sublink Name Hints
- Skew Hints
- Parameterized Path Hint
- Hint Errors, Conflicts, and Other Warnings
- Plan Hint Cases
- Optimizer GUC Parameter Hints
- Hints for Selecting the Custom Plan or Generic Plan
- Hints Specifying Not to Expand Subqueries
- Hints Specifying Not to Use Global Plan Cache
- Hint of Parameterized Paths at the Same Level
- Checking the Implicit Conversion Performance
- Using the Vectorized Executor for Tuning
-
Optimization Cases
- Case: Selecting an Appropriate Distribution Key
- Case: Creating an Appropriate Index
- Case: Adding NOT NULL for JOIN Columns
- Case: Pushing Down Sort Operations to DNs
- Case: Setting cost_param and Optimizing Query Performance
- Case: Adjusting Distribution Keys
- Case: Adjusting Partial Clustering Keys
- Case: Adjusting the Table Storage Model in a Medium Table
- Case: Adjusting Partial Clustering Keys
- Case: Modifying a Partitioned Table
- Case: Adjusting the GUC Parameter best_agg_plan
- Case: Rewriting SQL and Deleting Subqueries (1)
- Case: Rewriting SQL and Deleting Subqueries (2)
- Case: Rewriting SQL Statements to Eliminate Pruning Interference
- Case: Rewriting SQL Statements and Deleting in-clause
- Case: Setting Partial Cluster Keys
- Case: Modifying the GUC Parameter rewrite_rule
- Case: Using DN Gather to Reduce Stream Nodes in the Plan
- Case: Adjusting I/O Parameters to Reduce the Log Bloat Rate
- Configuring Running Parameters
-
SQL Reference
- GaussDB SQL
- Keywords
-
Data Type
- Numeric Types
- Monetary Types
- Boolean Types
- Character Types
- Binary Types
- Date/Time Types
- Geometric Types
- Network Address Types
- Bit String Types
- Text Search Types
- UUID Type
- JSON/JSONB Types
- HLL
- Range
- Object Identifier Types
- Pseudo-Types
- Data Types Supported by Column-store Tables
- Data Types Used by the Ledger Database
- ACLItem
- Constant and Macro
-
Functions and Operators
- Logical Operators
- Comparison Operators
- Character Processing Functions and Operators
- Binary String Functions and Operators
- Bit String Functions and Operators
- Pattern Matching Operators
- Arithmetic 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
- 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
- Dual-Cluster DR Control Functions
- Dual-Cluster DR Query Functions
- Snapshot Synchronization Functions
- Database Object Functions
- Advisory Lock Functions
- Logical Replication Functions
- Segment-Page Storage Functions
- Other Functions
- Statistics Information Functions
- Trigger Functions
- Hash Function
- Prompt Message Function
- Fault Injection System Function
- Redistribution Parameters
- Distribution Column Recommendation Functions
- Other System Functions
- Internal Functions
- AI Feature Functions
- Dynamic Data Masking Functions
- Hotkey Feature Functions
- Global SysCache Functions
- Data Damage Detection and Repair Functions
- Obsolete Functions
- Expressions
- Type Conversion
- Full Text Search
- System Operation
- Controlling Transactions
- DDL Syntax Overview
- DML Syntax Overview
- DCL Syntax Overview
-
SQL Syntax
- ABORT
- ALTER APP WORKLOAD GROUP MAPPING
- ALTER AUDIT POLICY
- ALTER COORDINATOR
- ALTER DATABASE
- ALTER DATA SOURCE
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER FOREIGN TABLE (for Import and Export)
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER LARGE OBJECT
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NODE
- ALTER NODE GROUP
- ALTER RESOURCE LABEL
- ALTER RESOURCE POOL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLESPACE
- ALTER TEXT SEARCH CONFIGURATION
- ALTER TEXT SEARCH DICTIONARY
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- ALTER WORKLOAD GROUP
- ANALYZE | ANALYSE
- BEGIN
- CALL
- CHECKPOINT
- CLEAN CONNECTION
- CLOSE
- CLUSTER
- COMMENT
- COMMIT | END
- COMMIT PREPARED
- COPY
- CREATE APP WORKLOAD GROUP MAPPING
- CREATE AUDIT POLICY
- CREATE BARRIER
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- CREATE DATABASE
- CREATE DATA SOURCE
- CREATE DIRECTORY
- CREATE FOREIGN TABLE (for Import and Export)
- CREATE FUNCTION
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE MODEL
- CREATE NODE
- CREATE NODE GROUP
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROW LEVEL SECURITY POLICY
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE SERVER
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLESPACE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TEXT SEARCH CONFIGURATION
- CREATE TEXT SEARCH DICTIONARY
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CREATE WORKLOAD GROUP
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
- DEALLOCATE
- DECLARE
- DELETE
- DO
- DROP APP WORKLOAD GROUP MAPPING
- DROP AUDIT POLICY
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATA SOURCE
- DROP DIRECTORY
- DROP FOREIGN TABLE
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP MODEL
- DROP NODE
- DROP NODE GROUP
- DROP OWNED
- DROP PROCEDURE
- DROP RESOURCE LABEL
- DROP RESOURCE POOL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP SCHEMA
- DROP SEQUENCE
- DROP SERVER
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TEXT SEARCH CONFIGURATION
- DROP TEXT SEARCH DICTIONARY
- DROP TRIGGER
- DROP TYPE
- DROP USER
- DROP VIEW
- DROP WORKLOAD GROUP
- DROP WEAK PASSWORD DICTIONARY
- EXECUTE
- EXECUTE DIRECT
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- INSERT
- LOCK
- MOVE
- MERGE INTO
- PREDICT BY
- PREPARE
- PREPARE TRANSACTION
- REASSIGN OWNED
- REINDEX
- REFRESH INCREMENTAL MATERIALIZED VIEW
- REFRESH MATERIALIZED VIEW
- 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
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- Appendix
- Stored Procedures
- Autonomous Transaction
-
System Catalogs and System Views
- Overview of System Catalogs and System Views
-
System Catalogs
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_ASP
- 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_JOB_ATTRIBUTE
- GS_JOB_ARGUMENT
- GS_MASKING_POLICY
- GS_MASKING_POLICY_ACTIONS
- GS_MASKING_POLICY_FILTERS
- GS_MATVIEW
- GS_MATVIEW_DEPENDENCY
- GS_MODEL_WAREHOUSE
- GS_OBSSCANINFO
- GS_OPT_MODEL
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- GS_WLM_EC_OPERATOR_INFO
- GS_WLM_INSTANCE_HISTORY
- GS_WLM_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_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- 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_OBSSCANINFO
- 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_REDISTB
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
- STREAMING_REAPER_STATUS
-
System Views
- ADM_COL_COMMENTS
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_INDEXES
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_OBJECTS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_SEQUENCES
- ADM_SCHEDULER_JOBS
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_PARTITIONS
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_USERS
- ADM_VIEWS
- COMM_CLIENT_INFO
- DB_ALL_TABLES
- DB_CONSTRAINTS
- DB_CONS_COLUMNS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PROCEDURES
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_COL_COMMENTS
- DB_TABLES
- DB_TRIGGERS
- DB_USERS
- DB_VIEWS
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GET_GLOBAL_PREPARED_XACTS
- GLOBAL_BAD_BLOCK_INFO
- GLOBAL_CLEAR_BAD_BLOCK_INFO
- GLOBAL_COMM_CLIENT_INFO
- GLOBAL_STAT_HOTKEYS_INFO
- GLOBAL_WAL_SENDER_STATUS
- GS_ALL_CONTROL_GROUP_INFO
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_DB_PRIVILEGES
- GS_GET_CONTROL_GROUP_INFO
- GS_GSC_MEMORY_DETAIL
- GS_LABELS
- GS_LSC_MEMORY_DETAIL
- GS_MASKING
- GS_MATVIEWS
- GS_MATVIEWS
- GS_SESSION_CPU_STATISTICS
- GS_SESSION_MEMORY_STATISTICS
- GS_SQL_COUNT
- GS_STAT_DB_CU
- GS_STAT_SESSION_CU
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GS_WLM_CGROUP_INFO
- GS_WLM_EC_OPERATOR_STATISTICS
- GS_WLM_EC_OPERATOR_HISTORY
- GS_WLM_OPERATOR_HISTORY
- GS_WLM_OPERATOR_STATISTICS
- 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_USER_INFO
- GS_WLM_USER_SESSION_INFO
- GS_WLM_SESSION_STATISTICS
- GS_WLM_WORKLOAD_RECORDS
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_INDEXES
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_JOBS
- MY_OBJECTS
- MY_PART_INDEXES
- MY_PART_TABLES
- MY_PROCEDURES
- MY_SEQUENCES
- MY_SOURCE
- MY_SYNONYMS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_PARTITIONS
- MY_TABLES
- MY_TRIGGERS
- MY_VIEWS
- PG_AVAILABLE_EXTENSIONS
- PG_AVAILABLE_EXTENSION_VERSIONS
- 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_INDEXES
- PG_LOCKS
- PG_NODE_ENV
- PG_OS_THREADS
- PG_POOLER_STATUS
- 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_SHARED_MEMORY_DETAIL
- PG_STATS
- 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_THREAD_WAIT_STATUS
- PG_TABLES
- PG_TDE_INFO
- 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_COMM_DELAY
- PGXC_COMM_RECV_STREAM
- PGXC_COMM_SEND_STREAM
- PGXC_COMM_STATUS
- PGXC_GET_STAT_ALL_TABLES
- PGXC_GET_TABLE_SKEWNESS
- PGXC_NODE_ENV
- PGXC_OS_THREADS
- PGXC_PREPARED_XACTS
- PGXC_RUNNING_XACTS
- PGXC_STAT_ACTIVITY
- PGXC_STAT_BAD_BLOCK
- PGXC_SQL_COUNT
- PGXC_THREAD_WAIT_STATUS
- PGXC_TOTAL_MEMORY_DETAIL
- PGXC_VARIABLE_INFO
- PGXC_WLM_EC_OPERATOR_HISTORY
- PGXC_WLM_EC_OPERATOR_INFO
- PGXC_WLM_EC_OPERATOR_STATISTICS
- PGXC_WLM_OPERATOR_HISTORY
- PGXC_WLM_OPERATOR_INFO
- PGXC_WLM_OPERATOR_STATISTICS
- PGXC_WLM_REBUILD_USER_RESPOOL
- PGXC_WLM_SESSION_HISTORY
- PGXC_WLM_SESSION_INFO
- PGXC_WLM_SESSION_STATISTICS
- PGXC_WLM_WORKLOAD_RECORDS
- PLAN_TABLE
- PV_FILE_STAT
- PV_INSTANCE_TIME
- PV_OS_RUN_INFO
- PV_REDO_STAT
- PV_SESSION_MEMORY
- PV_SESSION_MEMORY_CONTEXT
- PV_SESSION_MEMORY_DETAIL
- PV_SESSION_STAT
- PV_SESSION_TIME
- PV_THREAD_MEMORY_CONTEXT
- PV_TOTAL_MEMORY_DETAIL
- SYS_DUMMY
-
Schemas
- Information Schema
-
DBE_PERF Schema
- 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 and 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
- GLOBAL_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_COMPLEX_RUNTIME
- STATEMENT_COMPLEX_HISTORY_TABLE
- STATEMENT_COMPLEX_HISTORY
- STATEMENT_WLMSTAT_COMPLEX_RUNTIME
- GS_SLOW_QUERY_INFO (Discarded)
- GS_SLOW_QUERY_HISTORY (Discarded)
- GLOBAL_SLOW_QUERY_HISTORY (Discarded)
- GLOBAL_SLOW_QUERY_INFO (Discarded)
- STATEMENT_HISTORY
-
Cache and I/O
- 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
- Communication Library
-
Utility
- REPLICATION_STAT
- GLOBAL_REPLICATION_STAT
- REPLICATION_SLOTS
- GLOBAL_REPLICATION_SLOTS
- BGWRITER_STAT
- GLOBAL_BGWRITER_STAT
- POOLER_STATUS
- GLOBAL_COMM_CHECK_CONNECTION_STATUS
- GLOBAL_CKPT_STATUS
- GLOBAL_DOUBLE_WRITE_STATUS
- GLOBAL_PAGEWRITER_STATUS
- GLOBAL_POOLER_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 Event
- Configuration
- Operator
- Workload Manager
- Global Plan Cache
- RTO & RPO
- WDR Snapshot Schema
- GTM Mode
- Materialized View
-
GUC Parameters
- GUC Parameter Usage
- File Location
- Connection and Authentication
- Resource Consumption
- Parallel Data Import
- Write Ahead Log
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Workload Management
- Automatic Vacuuming
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Cluster Transaction Parameters
- Dual-Cluster Replication Parameters
- Developer Options
- Auditing
- Transaction Monitoring
- CM Parameters
- GTM Parameters
- Upgrade Parameters
- Miscellaneous Parameters
- Wait Event
- Query
- System Performance Snapshot
- Security Configuration
- HyperLogLog
- User-defined Functions
- Collaborative Analysis
- Acceleration Cluster
- Scheduled Task
- Thread Pool
- Full Text Search
- Backup and Restoration
- AI Features
- Global SysCache Parameters
- Reserved Parameters
- Error Log Reference
-
API Reference
-
JDBC Interface 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
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
- ODBC Interface Reference
- libpq Interface Reference
- Psycopg API Reference
-
JDBC Interface Reference
-
Developer Guide(Centralized_2.x)
- Overview
- Working with Databases
- Development and Design Proposal
- Best Practices
-
Application Development Guide
- Development Specifications
- Obtaining the Driver Package
-
Development Based on JDBC
- JDBC Package, Driver Class, and Environment Class
- Development Process
- Loading the Driver
- Connecting to a Database
- Connecting to the Database (Using SSL)
- Connecting to a Database (Using UDS)
- Running SQL Statements
- Processing Data in a Result Set
- Closing a Connection
- Log Management
- Examples: Common Operations
- Example: Retrying SQL Queries for Applications
- Example: Importing and Exporting Data Through Local Files
- Example: Migrating Data from MY
- Example: Logic Replication Code
- Example: Parameters for Connecting to the Database in Different Scenarios
- JDBC API Reference
- Development Based on ODBC
- Development Based on libpq
- Psycopg-based Development
- Development Based on the Go Driver
- Database Security Management
-
API Reference
-
JDBC
- 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
- PGReplicationConnection
- PGReplicationStream
- ChainedStreamBuilder
- ChainedCommonStreamBuilder
-
ODBC
- SQLAllocEnv
- SQLAllocConnect
- SQLAllocHandle
- SQLAllocStmt
- SQLBindCol
- SQLBindParameter
- SQLColAttribute
- SQLConnect
- SQLDisconnect
- SQLExecDirect
- SQLExecute
- SQLFetch
- SQLFreeStmt
- SQLFreeConnect
- SQLFreeHandle
- SQLFreeEnv
- SQLPrepare
- SQLGetData
- SQLGetDiagRec
- SQLSetConnectAttr
- SQLSetEnvAttr
- SQLSetStmtAttr
- Examples
- libpq
- Psycopg
- Go
-
JDBC
- Importing Data
-
Performance Tuning
- Performance Tuning Process
- Determining the Scope of Performance Tuning
-
SQL Optimization
- Query Execution Process
- Introduction to the SQL Execution Plan
- Tuning Process
- Updating Statistics
- Reviewing and Modifying a Table Definition
- Typical SQL Optimization Methods
- Experience in Rewriting SQL Statements
- Resetting Key Parameters During SQL Tuning
-
Hint-based Tuning
- Plan Hint Optimization
- Join Order Hints
- Join Operation Hints
- Rows Hints
- Scan Operation Hints
- Sublink Name Hints
- Hint Errors, Conflicts, and Other Warnings
- Optimizer GUC Parameter Hints
- Hint for Selecting the Custom Plan or Generic Plan
- Hint Specifying Not to Expand Subqueries
- Hint Specifying Not to Use Global Plan Cache
- Hint of Parameterized Paths at the Same Level
- Hint for Materializing a Sub-plan Result
- Using the Vectorized Executor for Tuning
-
Optimization Cases
- Case: Modifying the GUC Parameter rewrite_rule
- Case: Adjusting I/O Parameters to Reduce the Log Bloat Rate
- Case: Creating an Appropriate Index
- Case: Adding NOT NULL for JOIN Columns
- Case: Modifying a Partitioned Table
- Case: Rewriting SQL and Deleting Subqueries (1)
- Case: Rewriting SQL and Deleting Subqueries (2)
- Case: Rewriting SQL Statements and Deleting in-clause
- Configuring Running Parameters
-
SQL Reference
- SQL
- Keywords
- Data Types
- Constant and Macro
-
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
- 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
- DR Control Functions for Dual Database Instances
- DR Query Functions for Dual-Database Instances
- 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
- Dynamic Data Masking Functions
- Hierarchical Recursion Query Functions
- Other System Functions
- Internal Functions
- Global SysCache Feature Functions
- Data Damage Detection and Repair Functions
- Obsolete Functions
- Expressions
- Type Conversion
- Full Text Search
- System Operation
- Controlling Transactions
- DDL Syntax Overview
- DML Syntax Overview
- DCL Syntax Overview
-
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 OPERATOR
- ALTER PUBLICATION
- ALTER PACKAGE
- ALTER PROCEDURE
- ALTER RESOURCE LABEL
- ALTER ROLE
- ALTER ROW LEVEL SECURITY POLICY
- ALTER SCHEMA
- ALTER SEQUENCE
- ALTER SERVER
- ALTER SESSION
- ALTER SUBSCRIPTION
- ALTER SYNONYM
- ALTER SYSTEM KILL SESSION
- 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
- COPY
- CREATE AGGREGATE
- CREATE AUDIT POLICY
- CREATE CAST
- CREATE CLIENT MASTER KEY
- CREATE COLUMN ENCRYPTION KEY
- CREATE CONVERSION
- 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 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 TABLESPACE
- CREATE TABLE SUBPARTITION
- 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 RESOURCE LABEL
- DROP ROLE
- DROP ROW LEVEL SECURITY POLICY
- DROP RULE
- DROP PUBLICATION
- 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
- 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
- Appendix
- Stored Procedure
-
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_JOB_ARGUMENT
- GS_JOB_ATTRIBUTE
- 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_SQL_PATCH
- 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_AUTHID
- PG_AUTH_HISTORY
- PG_AUTH_MEMBERS
- 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_OBSSCANINFO
- 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
- STREAMING_STREAM
- STREAMING_CONT_QUERY
- STREAMING_REAPER_STATUS
-
System Views
- ADM_COL_COMMENTS
- ADM_CONSTRAINTS
- ADM_CONS_COLUMNS
- ADM_DATA_FILES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_INDEXES
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_PART_INDEXES
- ADM_OBJECTS
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_SCHEDULER_JOBS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_SUBPARTITIONS
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_PARTITIONS
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_USERS
- ADM_VIEWS
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_CONSTRAINTS
- DB_CONS_COLUMNS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PROCEDURES
- DB_PART_INDEXES
- DB_PART_TABLES
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_PARTITIONS
- DB_TAB_SUBPARTITIONS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TABLES
- DB_TRIGGERS
- DB_USERS
- DB_VIEWS
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GET_GLOBAL_PREPARED_XACTS (Discarded)
- GS_ALL_CONTROL_GROUP_INFO
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_COMM_PROXY_THREAD_STATUS
- GS_DB_PRIVILEGES
- GS_FILE_STAT
- GS_GET_CONTROL_GROUP_INFO
- 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_TOTAL_NODEGROUP_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_WLM_WORKLOAD_RECORDS
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_CONSTRAINTS
- MY_CONS_COLUMNS
- MY_INDEXES
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_JOBS
- MY_OBJECTS
- MY_PART_INDEXES
- MY_PART_TABLES
- MY_PROCEDURES
- MY_SEQUENCES
- MY_SOURCE
- MY_SYNONYMS
- MY_TAB_COLUMNS
- MY_TAB_COMMENTS
- MY_TAB_PARTITIONS
- MY_TAB_SUBPARTITIONS
- MY_TABLES
- MY_TRIGGERS
- MY_VIEWS
- PG_AVAILABLE_EXTENSION_VERSIONS
- PG_AVAILABLE_EXTENSIONS
- PG_CURSORS
- PG_COMM_DELAY
- PG_COMM_RECV_STREAM
- PG_COMM_SEND_STREAM
- PG_COMM_STATUS
- PG_CONTROL_GROUP_CONFIG
- PG_EXT_STATS
- PG_GET_INVALID_BACKENDS
- PG_GET_SENDERS_CATCHUP_TIME
- PG_GROUP
- PG_GTT_RELSTATS
- PG_GTT_STATS
- PG_GTT_ATTACHED_PIDS
- 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_STATS
- 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_USER_FUNCTIONS
- PG_STAT_USER_INDEXES
- PG_STAT_USER_TABLES
- PG_STAT_REPLICATION
- PG_STAT_SUBSCRIPTION
- PG_STAT_SYS_INDEXES
- PG_STAT_SYS_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_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_VIEWS
- PG_VARIABLE_INFO
- PG_WLM_STATISTICS
- PGXC_PREPARED_XACTS
- PGXC_THREAD_WAIT_STATUS
- PLAN_TABLE
- SYS_DUMMY
-
Schemas
-
DBE_PERF Schema
- 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_COMPLEX_RUNTIME
- STATEMENT_COMPLEX_HISTORY_TABLE
- STATEMENT_COMPLEX_HISTORY
- STATEMENT_WLMSTAT_COMPLEX_RUNTIME
- STATEMENT_HISTORY
- GS_SLOW_QUERY_INFO (Discarded)
- GS_SLOW_QUERY_HISTORY (Discarded)
- GLOBAL_SLOW_QUERY_HISTORY (Discarded)
- GLOBAL_SLOW_QUERY_INFO (Discarded)
-
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_SINGLE_FLUSH_DW_STATUS
- GLOBAL_CANDIDATE_STATUS
- Lock
- Wait Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- WDR Snapshot Schema
-
DBE_PLDEBUGGER Schema
- 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.enable_breakpoint
- DBE_PLDEBUGGER.disable_breakpoint
- DBE_PLDEBUGGER.finish
- DBE_PLDEBUGGER.set_var
- DBE_SQL_UTIL Schema
-
DBE_PERF Schema
- Logical Replication
- Materialized View
-
GUC Parameters
- GUC Parameter Usage
- File Location
- Connection and Authentication
- Resource Consumption
- Write Ahead Log
- HA Replication
- Query Planning
- Error Reporting and Logging
- Alarm Detection
- Statistics During the Database Running
- Workload Management
- Automatic Vacuuming
- Default Settings of Client Connection
- Lock Management
- Version and Platform Compatibility
- Fault Tolerance
- Connection Pool Parameters
- Transaction
- Replication Parameters of Two Database Instances
- Developer Options
- Auditing
- CM Parameters
- Upgrade Parameters
- Miscellaneous Parameters
- Wait Events
- Query
- System Performance Snapshot
- Security Configuration
- Global Temporary Table
- HyperLogLog
- User-defined Functions
- Scheduled Task
- Thread Pool
- Backup and Restoration
- Undo
- DCF Parameters Settings
- Flashback
- Rollback Parameters
- Reserved Parameters
- Global SysCache Parameters
- Error Log Reference
-
Developer Guide(Distributed_8.x)
- Tool Guide
-
Feature Guide
-
Feature Guide(Distributed_8.x)
- Materialized View
- Setting Encrypted Equality Queries
-
Partitioned Table
- Large-Capacity Database
- Introduction to Partitioned Tables
- Partitioned Table Query Optimization
- Partitioned Table O&M Management
- System Views & DFX Related to Partitioned Tables
- Storage Engine
- FDW
- Logical Replication
-
Feature Guide(Centralized_8.x)
- Materialized View
- Setting Encrypted Equality Query
-
Partitioned Table
- Large-Capacity Database
- Introduction to Partitioned Tables
- Partitioned Table Query Optimization
- Automatic Partitioning
- Partitioned Table O&M Management
- Partition Concurrency Control
- System Views & DFX Related to Partitioned Tables
- Storage Engine
- Foreign Data Wrapper
- Logical Replication
-
Feature Guide(Distributed_3.x)
- Materialized View
- Setting Encrypted Equality Queries
-
Partitioned Table
- Large-Capacity Database
- Introduction to Partitioned Tables
- Partitioned Table Query Optimization
- Partitioned Table O&M Management
- System Views & DFX Related to Partitioned Tables
- Storage Engine
- FDW
- Logical Replication
-
Feature Guide(Centralized_3.x)
- Materialized View
- Setting Encrypted Equality Query
-
Partitioned Table
- Large-Capacity Database
- Introduction to Partitioned Tables
- Partitioned Table Query Optimization
- Partitioned Table O&M Management
- Partition Concurrency Control
- System Views & DFX Related to Partitioned Tables
- Storage Engine
- Foreign Data Wrapper
- Logical Replication
-
Feature Guide(Distributed_8.x)
- Best Practices
- Performance White Paper
-
API Reference
- Before You Start
- API Overview
- Calling APIs
-
APIs (Recommended)
- DB Engine Versions and Specifications
- Storage Management
-
Instance Management
- Creating a DB Instance (v3.2)
- Creating a DB Instance (v5)
- Adding CNs and DN Shards and Scaling Up Storage
- Deleting a DB Instance
- Querying DB Instances
- Resetting a Database Password
- Changing a DB Instance Name
- Rebooting a DB Instance
- Switching Roles of the Primary and Standby DNs in Shards
- Querying the Components of a DB Instance
- Changing the vCPUs and Memory of a DB Instance
- Checking Whether Host Load Is Unbalanced Due to a Primary/Standby Switchover
- Querying Solution Template Settings
- Querying EIPs Bound to a DB Instance
- Validating Password Strength
- Binding or Unbinding an EIP
- Querying the SSL Certificate Download Address of a DB Instance
- Querying the Instance Quotas of a Tenant
- Starting a DB Instance or Node
- Stopping a DB Instance or Node
- Enabling M Compatibility Port
- Changing or Disabling M Compatibility Port
- Querying the Top I/O Threads
- Querying CNs
- Querying Storage Autoscaling Policies of a DB Instance
- Querying Advanced Features
- Enabling or Disabling Advanced Features
-
Parameter Configuration
- Obtaining Parameter Templates
- Obtaining the Parameters of a Specified DB Instance
- Modifying Parameters of a Specified DB Instance
- Creating a Parameter Template
- Deleting a Parameter Template
- Querying Details About a Parameter Template
- Replicating a Parameter Template
- Resetting a Parameter Template
- Obtaining the Differences of Two Parameter Templates
- Querying Instances That a Parameter Template Can Be Applied To
- Checking Whether the Parameter Template Name Exists
- Applying a Parameter Template
- Querying Application Records of a Parameter Template
- Querying Change History of a Parameter Template
- Version Upgrade
-
Backup and Restoration
- Configuring an Automated Backup Policy
- Querying an Automated Backup Policy
- Querying Backups
- Creating a Manual Backup
- Stopping a Backup
- Deleting a Manual Backup
- Querying the Restoration Time Range
- Restoring Data to a New instance
- Querying Instances That Can Be Used for Backups and Restorations
- Querying Information About the Original Instance Based on a Specific Point of Time or a Backup File
- Restoring Data to the Original or Existing Instance
- Confirming Data Integrity After a Backup Is Restored
- Log Management
- SQL Throttling
-
Database and Account Management
- Creating a Database
- Creating a Database Account
- Creating a Database Schema
- Configuring Permissions of Database Accounts
- Resetting a Password for a Database Account
- Querying Databases
- Querying Database Users
- Querying Database Schemas
- Deleting a Database
- Deleting a Schema
- Creating a Database Role
- Querying Database Roles
- Configuring Permissions of a Database Role
- Tag Management
- Quota Management
- Task Management
- Recycle Bin
- Plug-in Management
- Historical APIs
- Permissions Policies and Supported Actions
- Appendix
- SDK Reference
-
FAQs
-
About GaussDB
- What Should I Pay Attention to When Using GaussDB?
- What Is the Availability of GaussDB Instances?
- Will My GaussDB Instances Be Affected by Other Users' Instances?
- What Can I Do About Slow Responses of Websites When They Use GaussDB?
- Can Multiple ECSs Connect to the Same GaussDB Instance?
- Can I Encrypt the Disk After Purchasing a GaussDB Instance?
- Will Backups Be Encrypted After Disk Encryption Is Enabled for My GaussDB Instance?
- Will Different GaussDB Instances Share CPU and Memory Resources?
- How Many Databases Can Run on a GaussDB Instance?
- What Is the Relationship Between GaussDB and PostgreSQL?
- Can Multiple Users Log In to a GaussDB Instance Through DAS at the Same Time? Will the Accounts Be Locked If I Enter Wrong Passwords Several Times in a Row?
- What Are the Differences Between the Independent Deployment Model and Combined Deployment Model of GaussDB Distributed Instances?
- What Are the Differences Between the General-Purpose, Dedicated, and Kunpeng Dedicated Specification Types Provided GaussDB?
- Can I Switch Between the GaussDB Enterprise Edition and Basic Edition?
- GaussDB Resource Freezing, Unfreezing, Release, Deletion, and Unsubscription
- Resource and Disk Management
-
Database Connections
- What Should I Do If I Can't Connect to My GaussDB Instance?
- Can an External Server Access GaussDB Instances?
- Do Applications Need to Support Automatic Reconnections to GaussDB Databases?
- Why Can't I Ping My EIP After It Is Bound to a GaussDB Instance?
- Can I Access a GaussDB Instance Over an Intranet Connection Across Regions?
- Database Storage
-
Database Usage
- How Do I Use DAS to Query SQL Statements Executed in GaussDB?
- What Should I Do If Garbled Characters Are Displayed After SQL Query Results Are Exported to an Excel File for My GaussDB Instance?
- What Do I Do If the root Account of My GaussDB Instance Is Locked?
- Why Did the New Password Not Take Effect After I Reset the Administrator Password of a GaussDB Instance?
- What Do I Do If Replay Speed of Standby DNs Cannot Catch Up with Write Speed of Primary DN?
- Can I Change the VPC to Which My GaussDB Instance Belongs?
-
Backup and Restoration
- How Long Does GaussDB Store Backup Data?
- How Do I Clear GaussDB Backup Space?
- Can My GaussDB Instance Still Be Used in the Backup Window?
- How Is GaussDB Backup Data Billed?
- How Can I Back Up a GaussDB Database to an ECS?
- Will Backups Be Retained After My GaussDB Instance Is Deleted?
- Why Does Automated Backup for a GaussDB Instance Fail?
- Why Is Data Table Lost or Data Deleted from My GaussDB Instance?
- Does GaussDB Support Restoring Data for Individual Tables?
- How Can I Delete the GaussDB Backup Policy?
- Database Monitoring
- Scaling and Specification Change
-
Database Parameter Modification
- How Can I Change the Time Zone of a GaussDB Instance?
- How Can I Configure a Password Expiration Policy?
- Can I Use SQL Commands in GaussDB to Modify Global Parameters?
- Can I Enable SELECT Operation Auditing in GaussDB?
- How Do I Set the Disk Usage Threshold for Putting a Database Node into Read-Only Mode in GaussDB?
- How Do I Set the Date and Time Display Format in GaussDB?
- How Do I Set the Time Zone Used for Displaying and Interpreting Timestamps in GaussDB?
- How Do I Change the Maximum Number of DN Connections Allowed in GaussDB?
- How Do I Enable the Audit of INSERT, UPDATE, and DELETE Operations in GaussDB?
- How Do I Set the Maximum Number of WAL Sender Threads That Can Be Created in GaussDB?
- How Do I Set the Maximum Number of Bytes to Be Logged for Each SQL Statement in GaussDB?
- How Do I Set the Connection Timeout Interval for GaussDB?
- How Do I Set the Automatic Unlocking Time After an Account Is Locked in GaussDB?
- How Do I Set the Maximum Number of Failed Login Attempts for Accounts in GaussDB?
- Log Management
- Network Security
-
About GaussDB
-
Compatibility
- Oracle Compatibility(Distributed)
- Oracle Compatibility(Centralized)
-
MySQL Compatibility(Distributed)
- Overview
- MySQL Compatibility in MySQL-Compatible Mode
- MySQL Compatibility in M-compatible Mode
-
MySQL Compatibility(Centralized)
- Introduction
- MySQL Compatibility in B-Compatible Mode
- MySQL Compatibility in M-Compatible Mode
- Videos
- General Reference
Copied.
Query Rewriting Hints
Description
The optimizer supports a series of query rewriting rules and can perform equivalent logical rewriting on SQL statements to generate a better execution plan. If you do not want to perform SQL statement rewriting or the optimizer rewriting results in plan changes, you need to use hints to control the rewriting rules so that the optimizer performs rewriting in the way you want. Currently, the database supports hint control for SQL statements in various scenarios, such as ANY/EXISTS sublinks, simple subqueries, ORDER BY removal, HAVING clause pushdown, and delayed aggregation. For details, see Hint Usage Description.
- Some query rewriting rules are controlled by both query rewriting hints and GUC parameters. Generally, query rewriting hints have a higher priority than GUC parameters. Rewriting rules controlled by GUC parameters are described in Hint Usage Description.
- Each query rewriting rule is controlled by a pair of mutually exclusive hints, for example: The subquery expansion rule is controlled by both EXPAND_SUBQUERY and NO_EXPAND_SUBQUERY. The EXPAND_SUBQUERY hint indicates that the rule can be used to rewrite SQL statements, and NO_EXPAND_SUBQUERY indicates that the rule cannot be used to rewrite SQL statements. If two mutually exclusive hints exist in the same query block, the first obtained hint prevails. For example, if /*+ EXPAND_SUBQUERY NO_EXPAND_SUBQUERY */ is obtained, the EXPAND_SUBQUERY hint takes effect.
- Duplicate hints are allowed. However, for duplicate hints, only the first one is used. For other unused hints, an unused hint warning is reported. Take /*+ EXPAND_SUBLINK EXPAND_SUBLINK */ as an example, database uses only the first EXPAND_SUBLINK hint. Therefore, the unused hint warning is still displayed.
Syntax
hintname[(@queryblock)]
Parameters
- hintname specifies the name of the hint that controls the query rewriting rule. For details about the supported query rewriting hints, see Query rewriting hints.
- For details about @queryblock, see Hint for Specifying the Query Block Where the Hint Is Located. This parameter can be omitted, indicating that it takes effect in the current query block. If it is not specified, the hint does not have parentheses (()).
Query Rewriting Hint List
No. |
Hint |
Description |
---|---|---|
1 |
EXPAND_SUBLINK_HAVING |
Sublinks in the HAVING clause can be pulled up. |
2 |
NO_EXPAND_SUBLINK_HAVING |
Sublinks in the HAVING clause cannot be pulled up. |
3 |
EXPAND_SUBLINK |
Sublinks of the ANY/EXISTS type can be pulled up. |
4 |
NO_EXPAND_SUBLINK |
Sublinks of the ANY/EXISTS type cannot be pulled up. |
5 |
EXPAND_SUBLINK_TARGET |
Sublinks in the TargetList can be pulled up. |
6 |
NO_EXPAND_SUBLINK_TARGET |
Sublinks in the TargetList cannot be pulled up. |
7 |
USE_MAGIC_SET |
When conditions are pushed down from the main query to the subquery, the join columns of the subquery are grouped and aggregated, and then the subquery is joined with the main query. This reduces repeated scanning of related sublinks and improves query efficiency. |
8 |
NO_USE_MAGIC_SET |
Conditions cannot be pushed down from the main query to the subquery. The subquery with an aggregate operator is joined with the main query in advance. |
9 |
EXPAND_SUBLINK_UNIQUE_CHECK |
Sublinks without aggregation can be pulled up if only one line is output for each condition. Sublinks with aggregation can be automatically pulled up. |
10 |
NO_EXPAND_SUBLINK_UNIQUE_CHECK |
Sublinks without aggregation cannot be pulled up. |
11 |
NO_SUBLINK_DISABLE_REPLICATED |
Sublinks can be pulled up in the fast query shipping plan or stream scenario with a replication table. |
12 |
SUBLINK_DISABLE_REPLICATED |
Sublinks cannot be pulled up in the fast query shipping plan or stream scenario with a replication table. |
13 |
NO_SUBLINK_DISABLE_EXPR |
Expressions in sublinks can be pulled up. |
14 |
SUBLINK_DISABLE_EXPR |
Expressions in sublinks cannot be pulled up. |
15 |
ENABLE_SUBLINK_ENHANCED |
Pulling up sublinks can be enhanced. Related or non-related sublinks such as OR expressions can be pulled up. |
16 |
NO_ENABLE_SUBLINK_ENHANCED |
Pulling up sublinks cannot be enhanced. Related or non-related sublinks such as OR expressions cannot be pulled up. |
17 |
PARTIAL_PUSH |
In the stream scenario, the gather operator can be added to listagg and arrayagg. |
18 |
NO_PARTIAL_PUSH |
In the stream scenario, the gather operator cannot be added to listagg and arrayagg. |
19 |
REDUCE_ORDER_BY |
Redundant ORDER BY can be reduced. If the outer query does not have sorting requirements on the inner query result, unnecessary ORDER BY can be reduced to improve the query efficiency. |
20 |
NO_REDUCE_ORDER_BY |
Unnecessary ORDER BY cannot be reduced. |
21 |
REMOVE_NOT_NULL |
The unnecessary NOT NULL condition can be deleted. When the column attribute is NOT NULL, the IS NOT NULL judgment in the query condition can be deleted. |
22 |
NO_REMOVE_NOT_NULL |
The IS NOT NULL conditions cannot be deleted. |
23 |
LAZY_AGG |
The subquery and outer query have the same GROUP BY condition. The two-layer aggregation operation may cause low query efficiency. The aggregation operation in the subquery can be eliminated to improve query efficiency. |
24 |
NO_LAZY_AGG |
The aggregation operation rules in the subquery cannot be eliminated. |
25 |
EXPAND_SUBQUERY |
The subquery is pulled up and joined with the upper layer to optimize the query efficiency. |
26 |
NO_EXPAND_SUBQUERY |
The subquery cannot be pulled up. |
27 |
PUSHDOWN_HAVING |
The HAVING condition expression can be pushed down. |
28 |
NO_PUSHDOWN_HAVING |
The HAVING expression cannot be pushed down. |
29 |
INLIST_TO_JOIN |
The inlist-to-join can be used to rewrite SQL statements. |
30 |
NO_INLIST_TO_JOIN |
The inlist-to-join cannot be used to rewrite SQL statements. |
31 |
ROWNUM_PUSHDOWN |
Row numbers can be pushed down. |
32 |
NO_ROWNUM_PUSHDOWN |
Row numbers cannot be pushed down. |
33 |
WINDOWAGG_PUSHDOWN |
The filter criterion of the window function in the parent query can be pushed down to the subquery. |
34 |
NO_WINDOWAGG_PUSHDOWN |
The filter criterion of the window function in the parent query cannot be pushed down to the subquery. |
Preparations for Using Hints
To help you understand the application scenarios of hints, this document provides all application examples of query rewriting hints. For details, see Hint Usage Description. The table creation statements and environment preparation are as follows:
- Session settings:
SET client_encoding = 'UTF8'; CREATE SCHEMA rewrite_rule_test; SET current_schema = rewrite_rule_test; SET enable_codegen= off;
- Table creation statements:
CREATE TABLE rewrite_rule_hint_t1 (a INT, b INT, c INT, d INT); CREATE TABLE rewrite_rule_hint_t2 (a INT, b INT, c INT, d INT); CREATE TABLE rewrite_rule_hint_t3 (a INT, b INT, c INT, d INT); CREATE TABLE rewrite_rule_hint_t4 (a INT NOT NULL, b INT, c INT, d INT); CREATE TABLE rewrite_rule_hint_t5 (slot INTEGER NOT NULL,cid BIGINT NOT NULL,name CHARACTER VARYING NOT NULL) WITH (ORIENTATION = row); INSERT INTO rewrite_rule_hint_t5 (slot, cid, name) values(generate_series(1, 10),generate_series(1, 10),'records.storage.state'); ANALYZE rewrite_rule_hint_t5; CREATE TABLE rewrite_rule_hint_customer ( c_custkey INTEGER NOT NULL, c_name CHARACTER VARYING(25) NOT NULL, c_address CHARACTER VARYING(40) NOT NULL, c_nationkey INTEGER NOT NULL, c_phone CHARACTER(15) NOT NULL, c_acctbal NUMERIC(15, 2) NOT NULL, c_mktsegment CHARACTER(10) NOT NULL, c_comment CHARACTER VARYING(117) NOT NULL ); CREATE TABLE rewrite_rule_hint_orders ( o_orderkey INTEGER NOT NULL, o_custkey INTEGER NOT NULL, o_orderstatus CHARACTER(1) NOT NULL, o_totalprice NUMERIC(15, 2) NOT NULL, o_orderdate DATE NOT NULL, o_orderpriority CHARACTER(15) NOT NULL, o_clerk CHARACTER(15) NOT NULL, o_shippriority INTEGER NOT NULL, o_comment CHARACTER VARYING(79) NOT NULL );
Hint Usage Description
- EXPAND_SUBLINK_HAVING
Sublinks in the HAVING clause can be pulled up. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is enable_sublink_pullup_enhanced, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_EXPAND_SUBLINK_HAVING are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT /*+EXPAND_SUBLINK_HAVING*/ a,sum(b) AS value FROM rewrite_rule_hint_t1 GROUP BY a HAVING sum(a) >= (SELECT avg(b) FROM rewrite_rule_hint_t1) ORDER BY value DESC; QUERY PLAN ---------------------------------------------------------------------- Sort Sort Key: inner_subquery.value DESC InitPlan 1 (returns $0) -> Aggregate -> Seq Scan on rewrite_rule_hint_t1 -> Subquery Scan on inner_subquery -> HashAggregate Group By Key: rewrite_rule_test.rewrite_rule_hint_t1.a Filter: ((sum(rewrite_rule_test.rewrite_rule_hint_t1.a))::numeric >= $0) -> Seq Scan on rewrite_rule_hint_t1 (10 rows)
- NO_EXPAND_SUBLINK_HAVING
Sublinks in the HAVING clause cannot be pulled up. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not enable_sublink_pullup_enhanced, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and EXPAND_SUBLINK_HAVING are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT /*+NO_EXPAND_SUBLINK_HAVING*/ a,sum(b) AS value FROM rewrite_rule_hint_t1 GROUP BY a HAVING sum(a) >= (SELECT avg(b) FROM rewrite_rule_hint_t1) ORDER BY value DESC; QUERY PLAN ---------------------------------------------------------------------------------- Sort Sort Key: (sum(rewrite_rule_test.rewrite_rule_hint_t1.b)) DESC InitPlan 1 (returns $0) -> Aggregate -> Seq Scan on rewrite_rule_hint_t1 -> HashAggregate Group By Key: rewrite_rule_test.rewrite_rule_hint_t1.a Filter: ((sum(rewrite_rule_test.rewrite_rule_hint_t1.a))::numeric >= $0) -> Seq Scan on rewrite_rule_hint_t1 (9 rows)
- EXPAND_SUBLINK
Sublinks can be pulled up. It can control scenarios such as non-correlated sublinks of the [Not]Any type or related sublinks of the [Not]Exists type. The hint of this rule and the NO_EXPAND hint are mutually exclusive, and this hint has a higher priority than NO_EXPAND. This hint and NO_EXPAND_SUBLINK are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1 WHERE a > ANY(SELECT /*+EXPAND_SUBLINK*/ a FROM rewrite_rule_hint_t2) AND b > ANY (SELECT /*+EXPAND_SUBLINK*/a FROM rewrite_rule_hint_t3); QUERY PLAN ------------------------------------------------------------------------ Nested Loop Semi Join Join Filter: (rewrite_rule_hint_t1.b > rewrite_rule_hint_t3.a) -> Nested Loop Semi Join Join Filter: (rewrite_rule_hint_t1.a > rewrite_rule_hint_t2.a) -> Seq Scan on rewrite_rule_hint_t1 -> Materialize -> Seq Scan on rewrite_rule_hint_t2 -> Materialize -> Seq Scan on rewrite_rule_hint_t3 (9 rows)
- NO_EXPAND_SUBLINK
Sublinks cannot be pulled up. It can control scenarios such as non-correlated sublinks of the [Not]Any type or related sublinks of the [Not]Exists type. The hint of this rule is equivalent to the NO_EXPAND hint. This hint and EXPAND_SUBLINK are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1 WHERE a > ANY(SELECT /*+NO_EXPAND_SUBLINK*/ a FROM rewrite_rule_hint_t2) AND b > ANY (SELECT /*+EXPAND_SUBLINK*/a FROM rewrite_rule_hint_t3); QUERY PLAN ------------------------------------------------------ Seq Scan on rewrite_rule_hint_t1 Filter: ((NOT (hashed SubPlan 2)) AND (SubPlan 1)) SubPlan 2 -> Seq Scan on rewrite_rule_hint_t3 SubPlan 1 -> Materialize -> Seq Scan on rewrite_rule_hint_t2 (7 rows)
- EXPAND_SUBLINK_TARGET
Sublinks in the TargetList can be pulled up. The hint of this rule and the NO_EXPAND hint are mutually exclusive, and this hint has a higher priority than NO_EXPAND. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is intargetlist, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_EXPAND_SUBLINK_TARGET are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT a,(SELECT /*+EXPAND_SUBLINK_TARGET*/ avg(b) FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a < 100 ORDER BY rewrite_rule_hint_t2.b; QUERY PLAN ---------------------------------------------------------------------- Sort Sort Key: rewrite_rule_hint_t2.b -> Hash Left Join Hash Cond: (rewrite_rule_hint_t2.b = rewrite_rule_hint_t1.b) -> Seq Scan on rewrite_rule_hint_t2 Filter: (a < 100) -> Hash -> HashAggregate Group By Key: rewrite_rule_hint_t1.b -> Seq Scan on rewrite_rule_hint_t1 (10 rows)
- NO_EXPAND_SUBLINK_TARGET
Sublinks in the TargetList cannot be pulled up. The hint of this rule is equivalent to the NO_EXPAND hint. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not intargetlist, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and EXPAND_SUBLINK_TARGET are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT a,(SELECT /*+NO_EXPAND_SUBLINK_TARGET*/ avg(b) FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = rewrite_rule_hint_t2.b) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a < 100 ORDER BY rewrite_rule_hint_t2.b; QUERY PLAN ------------------------------------------------------------ Sort Sort Key: rewrite_rule_hint_t2.b -> Seq Scan on rewrite_rule_hint_t2 Filter: (a < 100) SubPlan 1 -> Aggregate -> Seq Scan on rewrite_rule_hint_t1 Filter: (b = rewrite_rule_hint_t2.b) (8 rows)
- USE_MAGIC_SET
Conditions are pushed down from the main query to the subquery. In this case, the join columns of the subquery are grouped and aggregated, and then the subquery is joined with the main query. This reduces repeated scanning of related sublinks and improves query efficiency. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is magicset, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_USE_MAGIC_SET are mutually exclusive.
gaussdb=# EXPLAIN(costs off) SELECT rewrite_rule_hint_t1 FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = 10 AND rewrite_rule_hint_t1.c < (SELECT /*+USE_MAGIC_SET*/ sum(c) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.a); QUERY PLAN ---------------------------------------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t2.a = rewrite_rule_test.rewrite_rule_hint_t1.a) Join Filter: (rewrite_rule_test.rewrite_rule_hint_t1.c < (sum(rewrite_rule_hint_t2.c))) -> HashAggregate Group By Key: rewrite_rule_hint_t2.a -> Hash Join Hash Cond: (rewrite_rule_hint_t2.a = rewrite_rule_test.rewrite_rule_hint_t1.a) -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> HashAggregate Group By Key: rewrite_rule_test.rewrite_rule_hint_t1.a -> Seq Scan on rewrite_rule_hint_t1 Filter: (b = 10) -> Hash -> Seq Scan on rewrite_rule_hint_t1 Filter: (b = 10) (16 rows)
- NO_USE_MAGIC_SET
Conditions cannot be pushed down from the main query to the subquery. The subquery with an aggregate operator is joined with the main query in advance. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not magicset, this rule also does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and USE_MAGIC_SET are mutually exclusive.
gaussdb=# EXPLAIN(costs off) SELECT rewrite_rule_hint_t1 FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = 10 AND rewrite_rule_hint_t1.c < (SELECT /*+NO_USE_MAGIC_SET*/ sum(c) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.a); QUERY PLAN ------------------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a) Join Filter: (rewrite_rule_hint_t1.c < (sum(rewrite_rule_hint_t2.c))) -> HashAggregate Group By Key: rewrite_rule_hint_t2.a -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 Filter: (b = 10) (9 rows)
- EXPAND_SUBLINK_UNIQUE_CHECK
Sublinks without aggregation are pulled up. To pull up sublinks, ensure that only one line is output for each condition. Sublinks with aggregation can be automatically pulled up. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is uniquecheck, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_EXPAND_SUBLINK_UNIQUE_CHECK are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT rewrite_rule_hint_t1.a FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.a = (SELECT /*+EXPAND_SUBLINK_UNIQUE_CHECK*/ rewrite_rule_hint_t2.a FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.b); QUERY PLAN ------------------------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t1.a = subquery."?column?") -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Subquery Scan on subquery -> HashAggregate Group By Key: rewrite_rule_hint_t2.b Filter: (rewrite_rule_hint_t2.b = rewrite_rule_hint_t2.a) Unique Check Required -> Seq Scan on rewrite_rule_hint_t2 (10 rows)
- NO_EXPAND_SUBLINK_UNIQUE_CHECK
Sublinks without aggregation cannot be pulled up. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not uniquecheck, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and EXPAND_SUBLINK_UNIQUE_CHECK are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT rewrite_rule_hint_t1.a FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.a = (SELECT /*+NO_EXPAND_SUBLINK_UNIQUE_CHECK*/ rewrite_rule_hint_t2.a FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.b); QUERY PLAN ------------------------------------------------ Seq Scan on rewrite_rule_hint_t1 Filter: (a = (SubPlan 1)) SubPlan 1 -> Seq Scan on rewrite_rule_hint_t2 Filter: (rewrite_rule_hint_t1.a = b) (5 rows)
- NO_SUBLINK_DISABLE_REPLICATED
Sublinks can be pulled up in the fast query shipping plan or stream scenario with a replication table. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not disablerep, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and SUBLINK_DISABLE_REPLICATED are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1 WHERE (0 =(SELECT /*+NO_SUBLINK_DISABLE_REPLICATED*/ count(*) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a) OR NOT EXISTS(SELECT /*+NO_SUBLINK_DISABLE_REPLICATED*/1 FROM rewrite_rule_hint_t3 WHERE rewrite_rule_hint_t3.b = rewrite_rule_hint_t1.b)); QUERY PLAN --------------------------------------------------------------------------------------------------------------------------- Hash Left Join Hash Cond: (rewrite_rule_hint_t1.b = rewrite_rule_hint_t3.b) Filter: (((subquery."?column?" IS NOT NULL) AND (0 = COALESCE(subquery.count, 0))) OR (rewrite_rule_hint_t3.b IS NULL)) -> Hash Left Join Hash Cond: (rewrite_rule_hint_t1.a = subquery."?column?") -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Subquery Scan on subquery -> HashAggregate Group By Key: rewrite_rule_hint_t2.a -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> HashAggregate Group By Key: rewrite_rule_hint_t3.b -> Seq Scan on rewrite_rule_hint_t3 (15 rows)
- SUBLINK_DISABLE_REPLICATED
Sublinks cannot be pulled up in the fast query shipping plan or stream scenario with a replication table. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is disablerep, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_SUBLINK_DISABLE_REPLICATED are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1 WHERE (0 =(SELECT /*+SUBLINK_DISABLE_REPLICATED*/ count(*) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a) OR NOT EXISTS(SELECT /*+NO_SUBLINK_DISABLE_REPLICATED*/1 FROM rewrite_rule_hint_t3 WHERE rewrite_rule_hint_t3.b = rewrite_rule_hint_t1.b)); QUERY PLAN -------------------------------------------------------------------------------------- Seq Scan on rewrite_rule_hint_t1 Filter: ((0 = (SubPlan 1)) OR (NOT (alternatives: SubPlan 2 or hashed SubPlan 3))) SubPlan 1 -> Aggregate -> Seq Scan on rewrite_rule_hint_t2 Filter: (a = rewrite_rule_hint_t1.a) SubPlan 2 -> Seq Scan on rewrite_rule_hint_t3 Filter: (b = rewrite_rule_hint_t1.b) SubPlan 3 -> Seq Scan on rewrite_rule_hint_t3 (11 rows)
- NO_SUBLINK_DISABLE_EXPR
Expressions in sublinks can be pulled up. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not disable_pullup_expr_sublink, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and SUBLINK_DISABLE_EXPR are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT a FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = (SELECT /*+NO_SUBLINK_DISABLE_EXPR*/ max(b) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a); QUERY PLAN ----------------------------------------------------------------------------------------------------------- Hash Join Hash Cond: ((rewrite_rule_hint_t1.a = subquery."?column?") AND (rewrite_rule_hint_t1.b = subquery.max)) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Subquery Scan on subquery -> HashAggregate Group By Key: rewrite_rule_hint_t2.a -> Seq Scan on rewrite_rule_hint_t2 (8 rows)
- SUBLINK_DISABLE_EXPR
Expressions in sublinks cannot be pulled up. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is disable_pullup_expr_sublink, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_SUBLINK_DISABLE_EXPR are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT a FROM rewrite_rule_hint_t1 WHERE rewrite_rule_hint_t1.b = (SELECT /*+SUBLINK_DISABLE_EXPR*/ max(b) FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.a = rewrite_rule_hint_t1.a); QUERY PLAN ------------------------------------------------------ Seq Scan on rewrite_rule_hint_t1 Filter: (b = (SubPlan 1)) SubPlan 1 -> Aggregate -> Seq Scan on rewrite_rule_hint_t2 Filter: (a = rewrite_rule_hint_t1.a) (6 rows)
- ENABLE_SUBLINK_ENHANCED
The sublink pullup can be enhanced. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is enable_sublink_pullup_enhanced, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_ENABLE_SUBLINK_ENHANCED are mutually exclusive.
gaussdb=# EXPLAIN (costs off)SELECT cntrycode,count(*) AS numcust,sum(c_acctbal) AS totacctbal FROM (SELECT substring(c_phone from 1 for 2) AS cntrycode,c_acctbal FROM rewrite_rule_hint_customer WHERE substring(c_phone from 1 for 2) IN ('22', '25', '26', '14', '18', '30', '17')AND c_acctbal > (SELECT /*+ENABLE_SUBLINK_ENHANCED*/ avg(c_acctbal) FROM rewrite_rule_hint_customer WHERE c_acctbal > 0.00 AND substring(c_phone from 1 for 2) IN ('22', '25', '26', '14', '18', '30', '17')) AND NOT EXISTS (SELECT * FROM rewrite_rule_hint_orders WHERE o_custkey = c_custkey)) AS custsale GROUP BY cntrycode ORDER BY cntrycode; QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------- GroupAggregate Group By Key: ("substring"((rewrite_rule_test.rewrite_rule_hint_customer.c_phone)::text, 1, 2)) -> Sort Sort Key: ("substring"((rewrite_rule_test.rewrite_rule_hint_customer.c_phone)::text, 1, 2)) -> Hash Right Anti Join Hash Cond: (rewrite_rule_hint_orders.o_custkey = rewrite_rule_test.rewrite_rule_hint_customer.c_custkey) -> Seq Scan on rewrite_rule_hint_orders -> Hash -> Nested Loop Join Filter: (rewrite_rule_test.rewrite_rule_hint_customer.c_acctbal > (avg(rewrite_rule_test.rewrite_rule_hint_customer.c_acctbal))) -> Aggregate -> Seq Scan on rewrite_rule_hint_customer Filter: ((c_acctbal > 0.00) AND ("substring"((c_phone)::text, 1, 2) = ANY ('{22,25,26,14,18,30,17}'::text[]))) -> Seq Scan on rewrite_rule_hint_customer Filter: ("substring"((c_phone)::text, 1, 2) = ANY ('{22,25,26,14,18,30,17}'::text[])) (15 rows)
- NO_ENABLE_SUBLINK_ENHANCED
The sublink pullup cannot be enhanced. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not enable_sublink_pullup_enhanced, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and ENABLE_SUBLINK_ENHANCED are mutually exclusive.
gaussdb=# EXPLAIN (costs off)SELECT cntrycode,count(*) AS numcust,sum(c_acctbal) AS totacctbal FROM (SELECT substring(c_phone from 1 for 2) AS cntrycode,c_acctbal FROM rewrite_rule_hint_customer WHERE substring(c_phone from 1 for 2) IN ('22', '25', '26', '14', '18', '30', '17')AND c_acctbal > (SELECT /*+NO_ENABLE_SUBLINK_ENHANCED*/ avg(c_acctbal) FROM rewrite_rule_hint_customer WHERE c_acctbal > 0.00 AND substring(c_phone from 1 for 2) IN ('22', '25', '26', '14', '18', '30', '17')) AND NOT EXISTS (SELECT * FROM rewrite_rule_hint_orders WHERE o_custkey = c_custkey)) AS custsale GROUP BY cntrycode ORDER BY cntrycode; QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------- GroupAggregate Group By Key: ("substring"((rewrite_rule_test.rewrite_rule_hint_customer.c_phone)::text, 1, 2)) InitPlan 1 (returns $0) -> Aggregate -> Seq Scan on rewrite_rule_hint_customer Filter: ((c_acctbal > 0.00) AND ("substring"((c_phone)::text, 1, 2) = ANY ('{22,25,26,14,18,30,17}'::text[]))) -> Sort Sort Key: ("substring"((rewrite_rule_test.rewrite_rule_hint_customer.c_phone)::text, 1, 2)) -> Hash Right Anti Join Hash Cond: (rewrite_rule_hint_orders.o_custkey = rewrite_rule_test.rewrite_rule_hint_customer.c_custkey) -> Seq Scan on rewrite_rule_hint_orders -> Hash -> Seq Scan on rewrite_rule_hint_customer Filter: ((c_acctbal > $0) AND ("substring"((c_phone)::text, 1, 2) = ANY ('{22,25,26,14,18,30,17}'::text[]))) (14 rows)
- PARTIAL_PUSH
In the stream scenario, the gather operator can be added to listagg and arrayagg. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is partialpush, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_PARTIAL_PUSH are mutually exclusive.
gaussdb=# SET rewrite_rule='intargetlist'; SET query_dop = 10; SET enable_force_smp = on; EXPLAIN (costs off)SELECT /*+PARTIAL_PUSH*/listagg((SELECT b FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.b = rewrite_rule_hint_t1.b ORDER BY rewrite_rule_hint_t2.c limit 1), ',') WITHIN GROUP(ORDER BY rewrite_rule_hint_t1.b) FROM rewrite_rule_hint_t1 ORDER BY 1; QUERY PLAN ------------------------------------------------------------------------------------------------------ Sort Sort Key: (listagg(subquery.b, ','::text ) WITHIN GROUP ( ORDER BY rewrite_rule_hint_t1.b)) -> Aggregate -> Streaming(type: LOCAL GATHER dop: 1/10) -> Hash Right Join Hash Cond: (subquery."?column?" = rewrite_rule_hint_t1.b) -> Streaming(type: BROADCAST dop: 10/10) -> Subquery Scan on subquery Filter: (subquery."?column?" OPERATOR(pg_catalog.=) 1::bigint) -> WindowAgg -> Sort Sort Key: rewrite_rule_hint_t2.b, rewrite_rule_hint_t2.c -> Streaming(type: LOCAL REDISTRIBUTE dop: 10/10) -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 (16 rows)
- NO_PARTIAL_PUSH
In the stream scenario, the gather operator cannot be added to listagg and arrayagg. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not partialpush, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and PARTIAL_PUSH are mutually exclusive.
gaussdb=# SET rewrite_rule='intargetlist'; SET query_dop = 10; SET enable_force_smp = on; EXPLAIN (costs off)SELECT /*+NO_PARTIAL_PUSH*/listagg((SELECT b FROM rewrite_rule_hint_t2 WHERE rewrite_rule_hint_t2.b = rewrite_rule_hint_t1.b ORDER BY rewrite_rule_hint_t2.c limit 1), ',') WITHIN GROUP(ORDER BY rewrite_rule_hint_t1.b) FROM rewrite_rule_hint_t1 ORDER BY 1; QUERY PLAN ----------------------------------------------------------------------------------------------- Sort Sort Key: (listagg(subquery.b, ','::text ) WITHIN GROUP ( ORDER BY rewrite_rule_hint_t1.b)) -> Aggregate -> Hash Right Join Hash Cond: (subquery."?column?" = rewrite_rule_hint_t1.b) -> Subquery Scan on subquery Filter: (subquery."?column?" OPERATOR(pg_catalog.=) 1::bigint) -> WindowAgg -> Sort Sort Key: rewrite_rule_hint_t2.b, rewrite_rule_hint_t2.c -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 (13 rows)
- REDUCE_ORDER_BY
Unnecessary ORDER BY can be reduced. If the outer query does not have sorting requirements on the inner query result, unnecessary ORDER BY can be reduced to improve the query efficiency. This hint and NO_REDUCE_ORDER_BY are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1,(SELECT /*+REDUCE_ORDER_BY*/ * FROM rewrite_rule_hint_t2 ORDER BY a DESC); QUERY PLAN ---------------------------------------------- Nested Loop -> Seq Scan on rewrite_rule_hint_t1 -> Materialize -> Seq Scan on rewrite_rule_hint_t2 (4 rows)
- NO_REDUCE_ORDER_BY
Unnecessary ORDER BY cannot be reduced. This hint and REDUCE_ORDER_BY are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT * FROM rewrite_rule_hint_t1,(SELECT /*+NO_REDUCE_ORDER_BY*/ * FROM rewrite_rule_hint_t2 ORDER BY a DESC); QUERY PLAN ----------------------------------------------------- Nested Loop -> Seq Scan on rewrite_rule_hint_t1 -> Materialize -> Sort Sort Key: rewrite_rule_hint_t2.a DESC -> Seq Scan on rewrite_rule_hint_t2 (6 rows)
- REMOVE_NOT_NULL
Unnecessary IS NOT NULL conditions can be deleted. When the column attribute is NOT NULL, the IS NOT NULL judgment in the query condition can be deleted. This scenario is also controlled by the GUC parameter enable_constraint_optimization. If the hint of this rule is not used and the value of enable_constraint_optimization is on, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_REMOVE_NOT_NULL are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT /*+REMOVE_NOT_NULL*/ * FROM rewrite_rule_hint_t4 WHERE b > 10 OR a IS NOT NULL; QUERY PLAN ---------------------------------- Seq Scan on rewrite_rule_hint_t4 (1 row)
- NO_REMOVE_NOT_NULL
Unnecessary IS NOT NULL conditions cannot be deleted. This scenario is also controlled by the GUC parameter enable_constraint_optimization. If the hint of this rule is not used and the value of enable_constraint_optimization is off, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and REMOVE_NOT_NULL are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT /*+NO_REMOVE_NOT_NULL*/ * FROM rewrite_rule_hint_t4 WHERE b > 10 OR a IS NOT NULL; QUERY PLAN ----------------------------------------- Seq Scan on rewrite_rule_hint_t4 Filter: ((b > 10) OR (a IS NOT NULL)) (2 rows)
- LAZY_AGG
The subquery and outer query have the same GROUP BY condition. The two-layer aggregation operation may cause low query efficiency. The aggregation operation in the subquery can be eliminated to improve query efficiency. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is lazyagg, this rule also takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_LAZY_AGG are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT rewrite_rule_hint_t1.b,sum(cc) FROM (SELECT /*+LAZY_AGG*/b,sum(c) AS cc FROM rewrite_rule_hint_t2 GROUP BY b) s1,rewrite_rule_hint_t1 WHERE s1.b = rewrite_rule_hint_t1.b GROUP BY rewrite_rule_hint_t1.b ORDER BY 1,2; QUERY PLAN ----------------------------------------------------------------------------- Sort Sort Key: rewrite_rule_hint_t1.b, (sum((rewrite_rule_hint_t2.c)::bigint)) -> HashAggregate Group By Key: rewrite_rule_hint_t1.b -> Hash Join Hash Cond: (rewrite_rule_hint_t2.b = rewrite_rule_hint_t1.b) -> Seq Scan on rewrite_rule_hint_t2 -> Hash -> Seq Scan on rewrite_rule_hint_t1 (9 rows)
- NO_LAZY_AGG
The aggregation operation rules in the subquery cannot be eliminated. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is not lazyagg, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and LAZY_AGG are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT rewrite_rule_hint_t1.b,sum(cc) FROM (SELECT /*+NO_LAZY_AGG*/b,sum(c) AS cc FROM rewrite_rule_hint_t2 GROUP BY b) s1,rewrite_rule_hint_t1 WHERE s1.b = rewrite_rule_hint_t1.b GROUP BY rewrite_rule_hint_t1.b ORDER BY 1,2; QUERY PLAN ---------------------------------------------------------------------- Sort Sort Key: rewrite_rule_hint_t1.b, (sum(s1.cc)) -> HashAggregate Group By Key: rewrite_rule_hint_t1.b -> Hash Join Hash Cond: (rewrite_rule_hint_t1.b = s1.b) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Subquery Scan on s1 -> HashAggregate Group By Key: rewrite_rule_hint_t2.b -> Seq Scan on rewrite_rule_hint_t2 (12 rows)
- EXPAND_SUBQUERY
The subquery is pulled up and joined with the upper layer to optimize the query efficiency. The hint of this rule and the NO_EXPAND hint are mutually exclusive. When both this hint and NO_EXPAND are used, this hint has a higher priority. This hint and NO_EXPAND_SUBQUERY are mutually exclusive.
gaussdb=# EXPLAIN(costs off) SELECT * FROM rewrite_rule_hint_t1,(SELECT /*+EXPAND_SUBQUERY*/ * FROM rewrite_rule_hint_t2 WHERE a > 1) tt WHERE rewrite_rule_hint_t1.a = tt.a; QUERY PLAN ---------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.a) -> Seq Scan on rewrite_rule_hint_t1 Filter: (a > 1) -> Hash -> Seq Scan on rewrite_rule_hint_t2 Filter: (a > 1) (7 rows)
- NO_EXPAND_SUBQUERY
The subquery cannot be pulled up. This hint is equivalent to the NO_EXPAND hint, but this hint has a higher priority. This hint and EXPAND_SUBQUERY are mutually exclusive.
gaussdb=# EXPLAIN(costs off) SELECT * FROM rewrite_rule_hint_t1,(SELECT /*+NO_EXPAND_SUBQUERY*/ * FROM rewrite_rule_hint_t2 WHERE a > 1) tt WHERE rewrite_rule_hint_t1.a = tt.a; QUERY PLAN ---------------------------------------------------------------- Hash Join Hash Cond: (rewrite_rule_hint_t1.a = rewrite_rule_hint_t2.a) -> Seq Scan on rewrite_rule_hint_t1 -> Hash -> Seq Scan on rewrite_rule_hint_t2 Filter: (a > 1) (6 rows)
- PUSHDOWN_HAVING
The HAVING condition expression can be pushed down. This hint and NO_PUSHDOWN_HAVING are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT /*+PUSHDOWN_HAVING*/ sum(a),b,c FROM rewrite_rule_hint_t1 WHERE b > 0 GROUP BY b,c HAVING sum(a) > 100 AND c > 0; QUERY PLAN ---------------------------------------- HashAggregate Group By Key: b, c Filter: (sum(a) > 100) -> Seq Scan on rewrite_rule_hint_t1 Filter: ((b > 0) AND (c > 0)) (5 rows)
- NO_PUSHDOWN_HAVING
The HAVING expression cannot be pushed down. This hint and PUSHDOWN_HAVING are mutually exclusive.
gaussdb=# EXPLAIN(costs off)SELECT /*+NO_PUSHDOWN_HAVING*/ sum(a),b,c FROM rewrite_rule_hint_t1 WHERE b > 0 GROUP BY b,c HAVING sum(a) > 100 AND c > 0; QUERY PLAN ---------------------------------------- HashAggregate Group By Key: b, c Filter: ((sum(a) > 100) AND (c > 0)) -> Seq Scan on rewrite_rule_hint_t1 Filter: (b > 0) (5 rows)
- INLIST_TO_JOIN
The inlist-to-join can be used to rewrite SQL statements. This scenario is also controlled by the GUC parameter qrw_inlist2join_optmode. If the hint of this rule is not used and the value of qrw_inlist2join_optmode is rule_base, this rule takes effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_INLIST_TO_JOIN are mutually exclusive.
gaussdb=# EXPLAIN (costs off)SELECT * FROM rewrite_rule_hint_t5 WHERE slot = '5' AND (name) IN (SELECT /*+INLIST_TO_JOIN*/ name FROM rewrite_rule_hint_t5 WHERE slot = '5'AND cid IN (5,1000,1001,1002,1003,1004,1005,1006,1007,2000,4000,10781986,10880002)LIMIT 50); QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------- Nested Loop Semi Join Join Filter: ((rewrite_rule_test.rewrite_rule_hint_t5.name)::text = (rewrite_rule_test.rewrite_rule_hint_t5.name)::text) -> Seq Scan on rewrite_rule_hint_t5 Filter: (slot = 5) -> Limit -> Hash Right Semi Join Hash Cond: ("*VALUES*".column1 = rewrite_rule_test.rewrite_rule_hint_t5.cid) -> Values Scan on "*VALUES*" -> Hash -> Seq Scan on rewrite_rule_hint_t5 Filter: (slot = 5) (11 rows)
NOTE:
INLIST_TO_JOIN[(@queryblock threshold)]: supports no parameter or any integer greater than or equal to 0. It is compatible with the value of the GUC parameter qrw_inlist2join_optmode. The default value is recommended.
Parameter description:
- threshold: specifies the query rewriting threshold. This parameter is optional. For details, see the value range part.
Default value: 1 (Optional. If it is not set, the default value is used.)
Value range:
- 0: cost_base
- 1: rule_base
- Any other positive integer: specifies the query rewriting threshold. If the number of elements in the list is greater than the threshold, the inlist2join query rewriting is performed.
- NO_INLIST_TO_JOIN
The inlist-to-join cannot be used to rewrite SQL statements. This scenario is also controlled by the GUC parameter qrw_inlist2join_optmode. If the hint of this rule is not used and the value of qrw_inlist2join_optmode is disable, this rule does not take effect. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and INLIST_TO_JOIN are mutually exclusive.
gaussdb=# EXPLAIN (costs off)SELECT * FROM rewrite_rule_hint_t5 WHERE slot = '5' AND (name) IN (SELECT /*+NO_INLIST_TO_JOIN*/ name FROM rewrite_rule_hint_t5 WHERE slot = '5'AND cid IN (5,1000,1001,1002,1003,1004,1005,1006,1007,2000,4000,10781986,10880002)LIMIT 50); QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------ Nested Loop Semi Join Join Filter: ((rewrite_rule_test.rewrite_rule_hint_t5.name)::text = (rewrite_rule_test.rewrite_rule_hint_t5.name)::text) -> Seq Scan on rewrite_rule_hint_t5 Filter: (slot = 5) -> Limit -> Seq Scan on rewrite_rule_hint_t5 Filter: ((slot = 5) AND (cid = ANY ('{5,1000,1001,1002,1003,1004,1005,1006,1007,2000,4000,10781986,10880002}'::bigint[]))) (7 rows)
- ROWNUM_PUSHDOWN
Row numbers can be pushed down. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is disable_rownum_pushdown, pushdown is allowed. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and NO_ROWNUM_PUSHDOWN are mutually exclusive.
gaussdb=# EXPLAIN (costs off) SELECT * FROM (SELECT /*+ROWNUM_PUSHDOWN*/rownum rn, a FROM rewrite_rule_hint_t1) WHERE rn BETWEEN 5 AND 10; QUERY PLAN -------------------------------------------------------------------------------- Subquery Scan on __unnamed_subquery__ Filter: ((__unnamed_subquery__.rn >= 5) AND (__unnamed_subquery__.rn <= 10)) -> Rownum StopKey: (ROWNUM <= 10) -> Seq Scan on rewrite_rule_hint_t1 (5 rows)
- NO_ROWNUM_PUSHDOWN
Row numbers cannot be pushed down. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is disable_rownum_pushdown, pushdown is not allowed. However, when both the hint and GUC parameter of this rule are used, the hint precedes the GUC parameter. This hint and ROWNUM_PUSHDOWN are mutually exclusive.
gaussdb=# EXPLAIN (costs off) SELECT * FROM (SELECT /*+NO_ROWNUM_PUSHDOWN*/rownum rn, a FROM rewrite_rule_hint_t1) WHERE rn BETWEEN 5 AND 10; QUERY PLAN -------------------------------------------------------------------------------- Subquery Scan on __unnamed_subquery__ Filter: ((__unnamed_subquery__.rn >= 5) AND (__unnamed_subquery__.rn <= 10)) -> Rownum -> Seq Scan on rewrite_rule_hint_t1 (4 rows)
- WINDOWAGG_PUSHDOWN
The filter criterion of the window function in the parent query can be pushed down to the subquery. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is not used and the value of rewrite_rule is disable_windowagg_pushdown, the filter criterion of the window function in the parent query cannot be pushed down to the subquery. If the hint of this rule is used and the value of rewrite_rule is disable_windowagg_pushdown, the hint precedes the GUC parameter, and the filter criterion of the window function in the parent query can be pushed down to the subquery. This hint and NO_WINDOWAGG_PUSHDOWN are mutually exclusive.
gaussdb=# EXPLAIN (costs off) SELECT * FROM (SELECT /*+WINDOWAGG_PUSHDOWN*/ row_number() over() rid, rewrite_rule_hint_t1.a FROM rewrite_rule_hint_t1) WHERE rid BETWEEN 5 AND 10; QUERY PLAN --------------------------------------------------------- Subquery Scan on __unnamed_subquery__ Filter: (__unnamed_subquery__.rid >= 5) -> WindowAgg row_number_filter: (row_number() OVER () <= 10) -> Seq Scan on rewrite_rule_hint_t1 (5 rows)
- NO_WINDOWAGG_PUSHDOWN
The filter criterion of the window function in the parent query cannot be pushed down to the subquery. This scenario is also controlled by the GUC parameter rewrite_rule. If the hint of this rule is used or the value of rewrite_rule is disable_windowagg_pushdown, the filter criterion of the window function in the parent query cannot be pushed down to the subquery. This hint and WINDOWAGG_PUSHDOWN are mutually exclusive.
gaussdb=# EXPLAIN (costs off) SELECT * FROM (SELECT /*+NO_WINDOWAGG_PUSHDOWN*/ row_number() over() rid, rewrite_rule_hint_t1.a FROM rewrite_rule_hint_t1) WHERE rid BETWEEN 5 AND 10; QUERY PLAN ---------------------------------------------------------------------------------- Subquery Scan on __unnamed_subquery__ Filter: ((__unnamed_subquery__.rid >= 5) AND (__unnamed_subquery__.rid <= 10)) -> WindowAgg -> Seq Scan on rewrite_rule_hint_t1 (4 rows
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.
Chatbot