云数据库 GaussDB
云数据库 GaussDB
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
-
开发指南
-
开发指南(分布式_V2.0-8.x)
- 数据库系统概述
- 数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- 开发规范
- 获取驱动包
-
基于JDBC开发
- JDBC包、驱动类和环境类
- 开发流程
- 加载驱动
- 连接数据库
- 连接数据库(以SSL方式)
- 连接数据库(UDS方式)
- 连接数据库(以国密TLS方式)
- 执行SQL语句
- 处理结果集
- 关闭数据库连接
- 日志管理
- 示例:常用操作
- 示例:重新执行应用SQL
- 示例:逻辑复制代码示例
- 示例:不同场景下连接数据库参数配置
-
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
- JDBC常用参数参考
- 常见问题处理
- JDBC数据类型映射关系
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 基于ecpg开发
- 基于Go驱动开发
- 兼容性参考
- 调试
-
SQL调优指南
- Query执行流程
- SQL执行计划介绍
- 调优流程
- 更新统计信息
- 审视和修改表定义
- 典型SQL调优点
- 经验总结:SQL语句改写规则
- SQL调优关键参数调整
-
使用Plan Hint进行调优
- Plan Hint调优概述
- 指定Hint所处的查询块Queryblock
- Hint可以指定表的查询块名和schema名
- Join顺序的Hint
- Join方式的Hint
- 行数的Hint
- Stream方式的Hint
- Scan方式的Hint
- 子链接块名的hint
- 运行倾斜的Hint
- 参数化路径的Hint
- Hint的错误、冲突及告警
- Plan Hint实际调优案例
- 优化器GUC参数的Hint
- Custom Plan和Generic Plan选择的Hint
- 指定子查询不展开的Hint
- 指定不使用全局计划缓存的Hint
- 同层参数化路径的Hint
- 设置慢SQL管控规则的Hint
- 支持bitmapscan的Hint
- 连接时内表物化的Hint
- 指定agg算法的Hint
- 查询改写的Hint
- 指定Any子链接提升的Hint
- 指定扫描并行度的Hint
- 指定是否使用Semi Join的Hint
- 指定是否使用minmax优化的hint
- 指定是否使用partition-wise scan优化的hint
- 检查隐式转换的性能问题
- 使用向量化执行引擎进行调优
- 使用SQL PATCH进行调优
- 实际调优案例
-
SQL参考
- GaussDB SQL
- 关键字
- 数据类型
- 字符集与字符序
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 账本数据库的函数
- 密态函数和操作符
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- SPM计划管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 故障注入系统函数
- 重分布函数
- 分布列推荐函数
- 其他系统函数
- 内部函数
- AI特性函数
- 敏感数据发现函数
- 动态数据脱敏函数
- 层次递归查询函数
- hotkey特性函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- XMLTYPE类型函数
- 数据透视函数
- Global Plsql Cache特性函数
- 通用标识符函数
- SQL限流函数
- 多租数据库函数
- 废弃函数
- 表达式
- 伪列
- 类型转换
- 系统操作
- 事务控制
-
SQL语法
- SQL语法格式说明
- DCL语法一览表
- DDL语法一览表
- DML语法一览表
- 其他语法一览表
- Online DDL及其操作
-
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 FOREIGN TABLE
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NODE
- ALTER NODE GROUP
- 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 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 FOREIGN TABLE
- 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 PACKAGE
- 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 TABLE PARTITION AS
- 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 EXTENSION
- DROP FOREIGN DATA WRAPPER
- 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 PACKAGE
- 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
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- 分区表
- 负载管理
- OLTP表压缩
- 密态等值查询
- 通信
- 账本数据库
- SPM计划管理
- AI
- 审计
- 用户和权限管理
- 连接和认证
- 动态脱敏
- DATABASE LINK
- 物化视图
- 逻辑解码
- 多租数据库
-
其他系统表
- GS_ASP
- PGXC_COPY_ERROR_LOG
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_IMCV
- GS_GLOBAL_CONFIG
- GS_JOB_ATTRIBUTE
- GS_JOB_ARGUMENT
- 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_TS_DICT_DEFINITION
- 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_FOREIGN_TABLE
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_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
-
系统视图
-
分区表
- 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表压缩
-
通信
- 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
-
段页式存储
- 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计划管理
- 审计
-
用户和权限管理
- 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
- GS_RLSPOLICIES
- PG_ROLES
- GS_ROLES
- PG_SECLABELS
- GS_SECLABELS
- PG_SHADOW
- GS_SHADOW
- PG_USER
- GS_USER
- PG_USER_MAPPINGS
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- 动态脱敏
- DATABASE LINK
- 物化视图
- 多租数据库
-
其他系统视图
- 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_IMCU_SLOT_STATUS
- GS_IMCV_STATUS
- GS_LOGICALSTANDBY_SKIP
- GS_LOGICALSTANDBY_SKIP_TRANSACTION
- GS_LSC_MEMORY_DETAIL
- GS_MY_PLAN_TRACE
- GS_SESSION_ALL_SETTINGS
- GS_SQL_COUNT
- 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_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_SESSION_IOSTAT
- PG_SETTINGS
- 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_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
-
分区表
-
Schema
- 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/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_WLMSTAT_COMPLEX_RUNTIME
- STATEMENT_HISTORY
- GLOBAL_SESSION_SQL_MEMORY
- SESSION_SQL_MEMORY
-
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
- Comm
-
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 Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- AI Watchdog
- Trace Function
- 废弃
-
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
- DBE_PLDEVELOPER
-
配置运行参数
- 查看参数
- 设置参数
-
GUC参数说明
- GUC使用说明
- 文件位置
- 连接和认证
- 资源消耗
- 数据并行导入导出
- 预写式日志
- 双机复制
- 查询规划
- 错误报告和日志
- 告警上报
- 运行时统计
- 负载管理
- 自动清理
- 客户端连接缺省设置
- 锁管理
- 版本和平台兼容性
- 容错性
- 连接池参数
- 集群事务
- 双集群复制参数
- 开发人员选项
- 审计
- 事务监控
- CM相关参数
- GTM相关参数
- 升级参数
- 其它选项
- 等待事件
- Query
- 系统性能快照
- 黑匣子相关参数
- 安全配置
- HyperLogLog
- 用户自定义函数
- 定时任务
- 线程池
- 备份恢复
- Undo
- DCF参数设置
- 闪回相关参数
- 回滚相关参数
- AI特性
- Global SysCache参数
- 分布式备机读参数
- 备机数据修复
- 账本数据库参数
- 在线创建索引
- 在线DDL
- 数据生命周期管理-OLTP表压缩
- session级事务下推及相关参数
- Enhanced Toast
- 预留参数
-
FAQ
- GaussDB单表支持的最大列数?
- 如何查询分区表分区信息和索引信息?
- 什么是OID?
- 什么是UDF?
- GaussDB都有哪些通配符,如何使用?
- 数据库对象名称的长度是否有限制?
- 如何查看某张表创建时间?
- 如何并行创建索引?
- 如何创建自动递增列?
- GaussDB数据库能否通过SQL查询内存的使用情况?
- LIMIT 2、LIMIT 2,3、LIMIT 2 OFFSET 3的区别?
- 如何创建默认为当前时间的列?
- 如何判断字段是否为NULL?
- 如何获取当前连接数据库的用户名?
- 如何查询两个时间的时间差?
- SQL语言分为哪几类?
- 触发器的作用是什么?
- 数据库事务正确执行的四个特性是什么?
- GaussDB的DROP、TRUNCATE、DELETE这三种删除数据的方式主要区别是什么?
- GaussDB数据库一个汉字占几个字节?
- 唯一约束和唯一索引有什么区别?
- GaussDB如何创建弱口令?
- 什么是脏读、幻读、不可重复读?
- 什么是MVCC?
- 日期/时间类型哪些带时区,哪些不带时区?
- count(*)和count(column)的区别是什么?
- 空字符串和NULL的关系?
- WAL日志是什么,日志文件路径是什么?
- GaussDB中模式、用户和角色如何理解?
- GaussDB支持动态内存管理吗?
- 以pg_temp或pg_toast_temp开头的SCHEMA是什么?
- 函数和存储过程的区别是什么?
- 为什么REVOKE某个用户的CONNECT ON DATABASE权限后还可以登录数据库?
- 全表关联UPDATE时,如何提升效率?
- 使用LIKE进行模糊查找时如何忽略大小写?
- 在使用了字符串处理函数后查询就不使用索引,该如何处理?
- 为什么查询中无法识别表名或者列名?
- 如果建表时没有指定分布列,数据会怎么存储?
- 什么是数据倾斜,如何检查?
- 复制表适用于哪些场景?
-
开发指南(集中式_V2.0-8.x)
- 数据库系统概述
- 数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- GaussDB应用程序开发教程概述
- 开发规范
- 获取驱动包
-
基于JDBC开发
- 开发流程
- 开发步骤
- 典型应用开发示例
-
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
- PGobject
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 基于Go驱动开发
- 基于ecpg开发
- 兼容性参考
- 附录
-
SQL调优指南
- Query执行流程
- SQL执行计划介绍
- 调优流程
- 更新统计信息
- 审视和修改表定义
- 典型SQL调优点
- 经验总结:SQL语句改写规则
- SQL调优关键参数调整
-
使用Plan Hint进行调优
- Plan Hint调优概述
- 指定Hint所处于的查询块Queryblock
- Hint可以指定表的查询块名和schema名
- Join顺序的Hint
- Join方式的Hint
- 行数的Hint
- Stream方式的Hint
- Scan方式的Hint
- 子链接块名的Hint
- Hint的错误、冲突及告警
- 优化器GUC参数的Hint
- Custom Plan和Generic Plan选择的Hint
- 指定子查询不展开的Hint
- 指定不使用全局计划缓存的Hint
- 同层参数化路径的Hint
- 设置慢SQL管控规则的Hint
- 自适应计划选择的Hint
- 为子计划结果进行物化的Hint
- 支持bitmapscan的Hint
- 连接时内表物化的Hint
- 指定agg算法的Hint
- 查询改写的Hint
- Outline Hint
- 指定Any子链接提升的Hint
- 指定扫描并行度的Hint
- 指定是否使用Semi Join的Hint
- 指定Stream Hashagg优化方式的Hint
- 指定是否使用minmax优化的hint
- 指定是否使用Partition-wise Scan优化的hint
- 使用向量化执行引擎进行调优
- PLAN TRACE使用介绍
- 使用SQL PATCH进行调优
- 实际调优案例
-
SQL参考
- GaussDB SQL
- 关键字
- 数据类型
- 字符集与字符序
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 账本数据库的函数
- 密态函数和操作符
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- SPM计划管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 全局临时表函数
- 故障注入系统函数
- AI特性函数
- 敏感数据发现函数
- 动态数据脱敏函数
- 层次递归查询函数
- 其他系统函数
- 内部函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- XMLTYPE类型函数
- Global Plsql Cache特性函数
- 数据透视函数
- 通用标识符函数
- SQL限流函数
- 向量数据库函数与操作符
- 多租数据库函数
- 废弃函数
- 表达式
- 伪列
- 类型转换
- 系统操作
- 事务控制
-
SQL语法
- SQL语法格式说明
- DCL语法一览表
- DDL语法一览表
- DML语法一览表
- 其他语法一览表
- Online DDL及其操作
-
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 FOREIGN TABLE
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER OPERATOR
- ALTER PACKAGE
- ALTER PLUGGABLE DATABASE
- 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 SYSTEM SET
- 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 FOREIGN TABLE
- 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 PLUGGABLE DATABASE
- 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 TABLE PARTITION | SUBPARTITION AS
- 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 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 PLUGGABLE DATABASE INCLUDING DATAFILES
- 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
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- 分区表
- 负载管理
- OLTP表压缩
- 密态等值查询
- 通信
- 账本数据库
- SPM计划管理
- AI
- 审计
- 用户和权限管理
- 连接和认证
- 动态脱敏
- DATABASE LINK
- 物化视图
- 逻辑解码
- 多租数据库
-
其他系统表
- GS_ASP
- gs_copy_summary
- PGXC_COPY_ERROR_LOG
- GS_DEP_SOURCE
- GS_DEPENDENCIES
- GS_DEPENDENCIES_OBJ
- GS_GLOBAL_CONFIG
- GS_IMCV
- 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_TS_DICT_DEFINITION
- 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_FOREIGN_TABLE
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_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
-
系统视图
-
分区表
- 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表压缩
- 通信
- 段页式存储
- SPM计划管理
- 审计
-
用户和权限管理
- 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
- GS_RLSPOLICIES
- PG_ROLES
- GS_ROLES
- PG_SECLABELS
- GS_SECLABELS
- PG_SHADOW
- GS_SHADOW
- PG_USER
- GS_USER
- PG_USER_MAPPINGS
- ROLE_ROLE_PRIVS
- ROLE_SYS_PRIVS
- ROLE_TAB_PRIVS
- 动态脱敏
- DATABASE LINK
- 物化视图
- 多租数据库
-
其他系统视图
- 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_IMCU_SLOT_STATUS
- GS_IMCV_STATUS
- GS_INSTANCE_TIME
- GS_LOGICALSTANDBY_SKIP
- GS_LOGICALSTANDBY_SKIP_TRANSACTION
- 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_SESSION_IOSTAT
- 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
-
分区表
-
Schema
- 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
- PDB Info
- Workload
-
Session/Thread
- SESSION_STAT
- GLOBAL_SESSION_STAT
- SESSION_TIME
- GLOBAL_SESSION_TIME
- SESSION_MEMORY
- GLOBAL_SESSION_MEMORY
- SESSION_MEMORY_DETAIL
- GLOBAL_SESSION_MEMORY_DETAIL
- SESSION_STAT_ACTIVITY
- GLOBAL_SESSION_STAT_ACTIVITY
- THREAD_WAIT_STATUS
- GLOBAL_THREAD_WAIT_STATUS
- LOCAL_THREADPOOL_STATUS
- GLOBAL_THREADPOOL_STATUS
- SESSION_CPU_RUNTIME
- SESSION_MEMORY_RUNTIME
- STATEMENT_IOSTAT_COMPLEX_RUNTIME
- LOCAL_ACTIVE_SESSION
- Transaction
-
Query
- STATEMENT
- SUMMARY_STATEMENT
- STATEMENT_COUNT
- GLOBAL_STATEMENT_COUNT
- SUMMARY_STATEMENT_COUNT
- GLOBAL_STATEMENT_COMPLEX_HISTORY
- GLOBAL_STATEMENT_COMPLEX_HISTORY_TABLE
- GLOBAL_STATEMENT_COMPLEX_RUNTIME
- STATEMENT_RESPONSETIME_PERCENTILE
- STATEMENT_USER_COMPLEX_HISTORY
- STATEMENT_COMPLEX_RUNTIME
- STATEMENT_COMPLEX_HISTORY_TABLE
- STATEMENT_COMPLEX_HISTORY
- STATEMENT_WLMSTAT_COMPLEX_RUNTIME
- STATEMENT_HISTORY
- GLOBAL_SLOW_QUERY_HISTORY
- GLOBAL_SLOW_QUERY_INFO
- SESSION_SQL_MEMORY
-
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
- Trace Function
-
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
-
配置运行参数
- 查看参数
- 设置参数
-
GUC参数说明
- GUC使用说明
- 文件位置
- 连接和认证
- 资源消耗
- 数据导入导出
- 预写式日志
- 双机复制
- 查询规划
- SPM计划管理
- 错误报告和日志
- 告警上报
- 运行时统计
- 负载管理
- 自动清理
- 客户端连接缺省设置
- 锁管理
- 版本和平台兼容性
- 容错性
- 连接池参数
- 事务
- 双数据库实例复制参数
- 开发人员选项
- 审计
- CM相关参数
- 升级参数
- 其它选项
- 等待事件
- Query
- 系统性能快照
- 黑匣子相关参数
- 安全配置
- 全局临时表
- HyperLogLog
- 用户自定义函数
- 定时任务
- 线程池
- 备份恢复
- Undo
- DCF参数设置
- 闪回相关参数
- 回滚相关参数
- AI特性
- Global SysCache参数
- 备机数据修复
- 分隔符
- Global PLsql Cache特性参数
- 账本数据库参数
- 在线创建索引
- 在线DDL
- 数据生命周期管理-OLTP表压缩
- 向量数据库参数
- Enhanced Toast
- 应用无损透明
- 预留参数
- HTAP混合负载
- 多租数据库
-
FAQ
- GaussDB单表支持的最大列数?
- 如何查询分区表分区信息和索引信息?
- 什么是OID?
- 什么是UDF?
- GaussDB都有哪些通配符,如何使用?
- 数据库对象名称的长度是否有限制?
- 如何查看某张表创建时间?
- 如何并行创建索引?
- 如何创建自动递增列?
- GaussDB数据库能否通过SQL查询内存的使用情况?
- LIMIT 2、LIMIT 2,3、LIMIT 2 OFFSET 3的区别?
- 如何创建默认为当前时间的列?
- 如何判断字段是否为NULL?
- 如何获取当前连接数据库的用户名?
- 如何查询两个时间的时间差?
- SQL语言分为哪几类?
- 触发器的作用是什么?
- 数据库事务正确执行的四个特性是什么?
- GaussDB的DROP、TRUNCATE、DELETE这三种删除数据的方式主要区别是什么?
- GaussDB数据库一个汉字占几个字节?
- 如何设置账号的有效期?
- 唯一约束和唯一索引有什么区别?
- GaussDB如何创建弱口令?
- 什么是脏读、幻读、不可重复读?
- 什么是MVCC?
- 日期/时间类型哪些带时区,哪些不带时区?
- count(*)和count(column)的区别是什么?
- 空字符串和NULL的关系是什么?
- WAL日志是什么,日志文件路径是什么?
- GaussDB中模式、用户和角色如何理解?
- GaussDB支持动态内存管理吗?
- 以pg_temp或pg_toast_temp开头的SCHEMA是什么?
- 函数和存储过程的区别是什么?
- 为什么REVOKE某个用户的CONNECT ON DATABASE权限后还可以登录数据库?
- 全表关联UPDATE时,如何提升效率?
- 使用LIKE进行模糊查找时如何忽略大小写?
- 在使用了字符串处理函数后查询就不使用索引,该如何处理?
- 为什么查询中无法识别表名或者列名?
-
开发指南(分布式_V2.0-3.x)
- 数据库系统概述
- 数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- 开发规范
- 获取驱动包
-
基于JDBC开发
- 开发流程
- 开发步骤
- 典型应用开发示例
-
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开发
- 基于libpq开发
- 基于Psycopg开发
- 基于ecpg开发
- 基于Go驱动开发
- 附录
-
SQL调优指南
- Query执行流程
- SQL执行计划介绍
- 调优流程
- 更新统计信息
- 审视和修改表定义
- 典型SQL调优点
- 经验总结:SQL语句改写规则
- SQL调优关键参数调整
-
使用Plan Hint进行调优
- Plan Hint调优概述
- 指定Hint所处的查询块Queryblock
- Hint可以指定表的查询块名和schema名
- Join顺序的Hint
- Join方式的Hint
- 行数的Hint
- Stream方式的Hint
- Scan方式的Hint
- 子链接块名的hint
- 运行倾斜的hint
- 参数化路径的Hint
- Hint的错误、冲突及告警
- 优化器GUC参数的Hint
- Custom Plan和Generic Plan选择的Hint
- 指定子查询不展开的Hint
- 指定不使用全局计划缓存的Hint
- 同层参数化路径的Hint
- 设置慢SQL管控规则的Hint
- 支持bitmapscan的hint
- 连接时内表物化的Hint
- 指定agg算法的Hint
- 检查隐式转换的性能问题
- 使用SQL PATCH进行调优
- 实际调优案例
-
SQL参考
- SQL
- 关键字
- 数据类型
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 密态函数和操作符
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 故障注入系统函数
- 重分布函数
- 分布列推荐函数
- 其他系统函数
- 内部函数
- AI特性函数
- 动态数据脱敏函数
- hotkey特性函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- XMLTYPE类型函数
- 废弃函数
- 表达式
- 伪列
- 类型转换
- 系统操作
- 事务控制
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
-
SQL语法
- SQL语法格式说明
- 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
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- 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
-
系统视图
- 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
-
Schema
- 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
- SESSION_CPU_RUNTIME
- SESSION_MEMORY_RUNTIME
- LOCAL_ACTIVE_SESSION
- GLOBAL_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
- Comm
-
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 Events
- Configuration
- Operator
- Workload Manager
- Global Plancache
- RTO & RPO
- AI Watchdog
- 废弃
-
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
-
配置运行参数
- 查看参数
- 设置参数
- GUC参数说明
-
开发指南(集中式_V2.0-3.x)
- 数据库系统概述
- 数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- GaussDB应用程序开发教程
- 开发规范
- 驱动包获取
-
基于JDBC开发
- 开发流程
- 开发步骤
- 典型应用开发示例
-
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
- PGobject
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 基于Go驱动开发
- 基于ecpg开发
- 附录
-
SQL调优指南
- Query执行流程
- SQL执行计划介绍
- 调优流程
- 更新统计信息
- 审视和修改表定义
- 典型SQL调优点
- 经验总结:SQL语句改写规则
- SQL调优关键参数调整
-
使用Plan Hint进行调优
- Plan Hint调优概述
- 指定Hint所处于的查询块Queryblock
- Hint可以指定表的查询块名和schema名
- Join顺序的Hint
- Join方式的Hint
- 行数的Hint
- Stream方式的Hint
- Scan方式的Hint
- 子链接块名的hint
- Hint的错误、冲突及告警
- 优化器GUC参数的Hint
- Custom Plan和Generic Plan选择的Hint
- 指定子查询不展开的Hint
- 指定不使用全局计划缓存的Hint
- 同层参数化路径的Hint
- 设置慢SQL管控规则的Hint
- 自适应计划选择的Hint
- 为子计划结果进行物化的Hint
- 支持bitmapscan的hint
- 连接时内表物化的Hint
- 指定agg算法的Hint
- PLAN TRACE使用介绍
- 使用SQL PATCH进行调优
- 实际调优案例
-
SQL参考
- SQL
- 关键字
- 数据类型
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 密态函数和操作符
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 全局临时表函数
- 故障注入系统函数
- AI特性函数
- 动态数据脱敏函数
- 层次递归查询函数
- 内部函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- XMLTYPE类型函数
- Global Plsql Cache特性函数
- 其他系统函数
- 废弃函数
- 表达式
- 伪列
- 类型转换
- 系统操作
- 事务控制
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
-
SQL语法
- SQL语法格式说明
- 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
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- 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
-
系统视图
- 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
- 废弃
-
Schema
- 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
- 废弃
-
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
-
配置运行参数
- 查看参数
- 设置参数
-
GUC参数说明
- GUC使用说明
- 文件位置
- 连接和认证
- 资源消耗
- 数据导入导出
- 预写式日志
- 双机复制
- 查询规划
- 错误报告和日志
- 告警检测
- 运行时统计
- 自动清理
- 客户端连接缺省设置
- 锁管理
- 版本和平台兼容性
- 容错性
- 连接池参数
- 事务
- 双数据库实例复制参数
- 开发人员选项
- 审计
- CM相关参数
- 升级参数
- 其它选项
- 等待事件
- Query
- 系统性能快照
- 安全配置
- 全局临时表
- HyperLogLog
- 用户自定义函数
- 定时任务
- 线程池
- 备份恢复
- Undo
- DCF参数设置
- 闪回相关参数
- 回滚相关参数
- 预留参数
- AI特性
- Global SysCache参数
- 高效数据压缩算法相关参数
- 备机数据修复
- 分隔符
- Global PLsql Cache特性参数
-
开发指南(分布式_V2.0-2.x)
- 数据库系统概述
- 管理数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- 开发规范
- 驱动包获取
-
基于JDBC开发
- JDBC包、驱动类和环境类
- 开发流程
- 加载驱动
- 连接数据库
- 连接数据库(以SSL方式)
- 连接数据库(以UDS方式)
- 执行SQL语句
- 处理结果集
- 关闭数据库连接
- 日志管理
- 示例:常用操作
- 示例:重新执行应用SQL
- 示例:通过本地文件导入导出数据
- 示例:从MYSQL进行数据迁移
- 示例:逻辑复制代码示例
- 示例:不同场景下连接数据库参数配置
-
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
- JDBC数据类型映射关系
- 常见问题处理
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg开发
- 调试
- SQL调优指南
-
SQL参考
- GaussDB SQL
- 关键字
- 数据类型
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 故障注入系统函数
- 重分布函数
- 分布列推荐函数
- 其他系统函数
- 内部函数
- 动态数据脱敏函数
- hotkey特性函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- 废弃函数
- 表达式
- 类型转换
- 系统操作
- 事务控制
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
-
SQL语法
- ABORT
- ALTER AUDIT POLICY
- ALTER COORDINATOR
- ALTER DATABASE
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- 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 CONVERSION
- CREATE DATABASE
- CREATE DIRECTORY
- CREATE FUNCTION
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- 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 DATABASE
- DROP DIRECTORY
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- 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
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- INSERT
- LOCK
- MOVE
- MERGE INTO
- 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
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_ASP
- GS_DB_PRIVILEGE
- 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_OPT_MODEL
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- 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_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_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
- 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
-
系统视图
- ADM_COL_COMMENTS
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_SCHEDULER_JOBS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_PARTITIONS
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_USERS
- ADM_VIEWS
- COMM_CLIENT_INFO
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- 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_TABLES
- DB_TRIGGERS
- DB_USERS
- DB_VIEWS
- DV_SESSION_LONGOPS
- DV_SESSIONS
- 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_SQL_COUNT
- GS_STAT_DB_CU
- GS_STAT_SESSION_CU
- GS_TOTAL_NODEGROUP_MEMORY_DETAIL
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_INDEXES
- 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_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_ORIGIN_STATUS
- PG_REPLICATION_SLOTS
- PG_RLSPOLICIES
- PG_ROLES
- PG_RULES
- PG_RUNNING_XACTS
- PG_SECLABELS
- 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_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_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
- SYS_DUMMY
-
Schema
- 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
- 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/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
- Comm
-
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 Events
- Configuration
- Operator
- Global Plancache
- RTO & RPO
- 逻辑复制
- GTM模式
- 物化视图
- 错误日志信息参考
- 配置运行参数
-
开发指南(集中式_V2.0-2.x)
- 数据库系统概述
- 管理数据库安全
- 数据库使用入门
- 开发设计建议
-
应用程序开发教程
- GaussDB应用程序开发教程概述
- 开发规范
- 驱动包获取
-
基于JDBC开发
- 开发流程
- 开发步骤
- 典型应用开发示例
-
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开发
- 基于libpq开发
- 基于Psycopg开发
- 基于Go驱动开发
- 附录
- SQL调优指南
-
SQL参考
- GaussDB SQL
- 关键字
- 数据类型
- 常量与宏
-
函数和操作符
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数
- 安全函数
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- HashFunc函数
- 提示信息函数
- 全局临时表函数
- 故障注入系统函数
- AI特性函数
- 动态数据脱敏函数
- 层次递归查询函数
- 其他系统函数
- 内部函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- 废弃函数
- 表达式
- 类型转换
- 系统操作
- 事务控制
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
-
SQL语法
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER DATABASE
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- 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 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 CONVERSION
- CREATE DATABASE
- CREATE DIRECTORY
- CREATE FUNCTION
- CREATE GROUP
- CREATE INCREMENTAL MATERIALIZED VIEW
- CREATE INDEX
- CREATE LANGUAGE
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE OPERATOR
- CREATE OPERATOR CLASS
- CREATE PACKAGE
- CREATE PROCEDURE
- CREATE RESOURCE LABEL
- 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 DATABASE
- DROP DIRECTORY
- DROP FUNCTION
- DROP GLOBAL CONFIGURATION
- DROP GROUP
- DROP INDEX
- DROP LANGUAGE
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP OPERATOR
- DROP OWNED
- DROP PACKAGE
- DROP PROCEDURE
- DROP RESOURCE LABEL
- 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
- EXPLAIN
- EXPLAIN PLAN
- FETCH
- GRANT
- INSERT
- LOCK
- MERGE INTO
- MOVE
- 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
- START TRANSACTION
- TIMECAPSULE TABLE
- TRUNCATE
- UPDATE
- VACUUM
- VALUES
- 附录
- 最佳实践
- 用户自定义函数
- 存储过程
- 自治事务
-
系统表和系统视图
- 系统表和系统视图概述
-
系统表
- GS_ASP
- GS_AUDITING_POLICY
- GS_AUDITING_POLICY_ACCESS
- GS_AUDITING_POLICY_FILTERS
- GS_AUDITING_POLICY_PRIVILEGES
- GS_DB_PRIVILEGE
- 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_OPT_MODEL
- GS_PACKAGE
- GS_POLICY_LABEL
- GS_RECYCLEBIN
- GS_SQL_PATCH
- GS_TXN_SNAPSHOT
- GS_UID
- 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_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_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
- PG_WORKLOAD_GROUP
- PGXC_CLASS
- PGXC_GROUP
- PGXC_NODE
- PGXC_SLICE
- PLAN_TABLE_DATA
- STATEMENT_HISTORY
- STREAMING_STREAM
- STREAMING_CONT_QUERY
- STREAMING_REAPER_STATUS
-
系统视图
- ADM_COL_COMMENTS
- ADM_CONS_COLUMNS
- ADM_CONSTRAINTS
- ADM_DATA_FILES
- ADM_HIST_SNAPSHOT
- ADM_HIST_SQL_PLAN
- ADM_HIST_SQLSTAT
- ADM_IND_COLUMNS
- ADM_IND_EXPRESSIONS
- ADM_IND_PARTITIONS
- ADM_IND_SUBPARTITIONS
- ADM_INDEXES
- ADM_OBJECTS
- ADM_PART_INDEXES
- ADM_PART_TABLES
- ADM_PROCEDURES
- ADM_SCHEDULER_JOBS
- ADM_SEQUENCES
- ADM_SOURCE
- ADM_SYNONYMS
- ADM_TAB_COLUMNS
- ADM_TAB_COMMENTS
- ADM_TAB_PARTITIONS
- ADM_TAB_SUBPARTITIONS
- ADM_TABLES
- ADM_TABLESPACES
- ADM_TRIGGERS
- ADM_TYPE_ATTRS
- ADM_USERS
- ADM_VIEWS
- DB_ALL_TABLES
- DB_COL_COMMENTS
- DB_CONS_COLUMNS
- DB_CONSTRAINTS
- DB_DEPENDENCIES
- DB_IND_COLUMNS
- DB_IND_EXPRESSIONS
- DB_IND_PARTITIONS
- DB_IND_SUBPARTITIONS
- DB_INDEXES
- DB_OBJECTS
- DB_PART_INDEXES
- DB_PART_TABLES
- DB_PROCEDURES
- DB_SEQUENCES
- DB_SOURCE
- DB_SYNONYMS
- DB_TAB_COLUMNS
- DB_TAB_COMMENTS
- DB_TAB_PARTITIONS
- DB_TAB_SUBPARTITIONS
- DB_TABLES
- DB_TRIGGERS
- DB_USERS
- DB_VIEWS
- DV_SESSIONS
- DV_SESSION_LONGOPS
- GET_GLOBAL_PREPARED_XACTS(废弃)
- 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_MEMORY
- GS_SESSION_MEMORY_CONTEXT
- GS_SESSION_MEMORY_DETAIL
- 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
- GV_SESSION
- MPP_TABLES
- MY_COL_COMMENTS
- MY_CONS_COLUMNS
- MY_CONSTRAINTS
- MY_IND_COLUMNS
- MY_IND_EXPRESSIONS
- MY_IND_PARTITIONS
- MY_IND_SUBPARTITIONS
- MY_INDEXES
- 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_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_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_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_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_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
- SYS_DUMMY
-
Schema
- 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
- 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
-
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_PLDEVELOPER
- DBE_SQL_UTIL Schema
- 逻辑复制
- 物化视图
- 错误日志信息参考
- 配置运行参数
-
开发指南(分布式_V2.0-8.x)
- 工具参考
-
特性指南
- 特性指南(分布式_V2.0-8.x)
- 特性指南(集中式_V2.0-8.x)
- 特性指南(分布式_V2.0-3.x)
- 特性指南(集中式_V2.0-3.x)
- 最佳实践
- 性能白皮书
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
产品咨询
- 使用GaussDB要注意些什么
- 什么是GaussDB实例可用性
- GaussDB实例是否会受其他用户实例的影响
- 为何使用了GaussDB后网站登录较慢
- 多台弹性云服务器是否可以连接同一个GaussDB数据库
- 购买GaussDB实例后可以对磁盘进行加密吗
- GaussDB购买磁盘加密后,备份文件会加密吗
- 不同GaussDB实例的CPU和内存是否共享
- GaussDB实例内能运行多少个数据库
- GaussDB与PostgreSQL的关系
- 使用DAS登录GaussDB数据库是否有人数限制,密码多次输入错误有无锁死机制
- GaussDB分布式独立部署与分布式混合部署有什么区别
- GaussDB通用型、独享型和鲲鹏独享型性能规格之间的区别是什么
- GaussDB企业版和基础版可以互相切换吗
- GaussDB资源冻结/解冻/释放/删除/退订
- 资源及磁盘管理
- 数据库连接
- 数据库存储
- 数据库基本使用
- 备份与恢复
- 数据库监控
- 扩容及规格变更
-
数据库参数修改
- GaussDB如何修改时区
- GaussDB密码过期策略
- GaussDB是否支持使用SQL命令修改全局参数
- GaussDB是否支持开启SELECT审计功能
- GaussDB如何设置磁盘占用率只读检测阈值
- GaussDB如何设置日期和时间的显示格式
- GaussDB如何设置显示和解释时间类型数值时使用的时区
- GaussDB如何修改DN的最大连接数
- GaussDB如何开启INSERT、UPDATE、DELETE审计功能
- GaussDB如何设置最大允许创建walsender线程的个数
- GaussDB如何设置记录每个SQL的最大字节数
- GaussDB如何设置连接超时时间
- GaussDB如何设置账户被锁定后自动解锁的时间
- GaussDB如何设置账户最大登录失败次数
- 日志管理
- 网络安全
-
产品咨询
- 兼容性参考
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
数据类型转换
不同的数据类型之间支持转换。有如下场景涉及到数据类型转换:
- 操作符(比较操作符、运算操作符等)的操作数的数据类型不一致。常见于查询条件或者关联条件中的比较运算。
- 函数调用时实参和形参的数据类型不一致。
- DML语句要更新(包括INSERT、UPDATE、MERGE、REPLACE等)的目标列,数据的类型和列的定义类型不一致。
- 显式的类型转换:CAST(expr AS datatype),将expr表达式类型转换为datatype类型。
- 集合运算(UNION、MINUS、EXCEPT、INTERSECT)确定最终投影列的目标数据类型后,各个SELECT查询的投影列的类型和目标数据类型不一致。
- 其他表达式计算场景,根据不同表达式的数据类型, 来决定用于比较或者最终结果的目标数据类型。
- 普通的字符串类型当字符序为BINARY时,将转换成对应的二进制类型(TEXT转换成BLOB,VARCHAR转换成VARBINARY等)。
数据类型转换差异点主要分为:隐式转换,显式转换、UNION/CASE、decimal类型。
隐式类型转换差异点
- GaussDB中统一平铺成小类型到小类型的转换规则,MySQL中使用小类型转大类型,大类型转小类型的转换规则。
- GaussDB中隐式转换因数据类型本身差异点,输出格式存在部分行为不一致。
- GaussDB中的隐式转换,BIT数据类型到字符数据类型和二进制数据类型转换,输出存在部分行为不一致。GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。
m_db=# CREATE TABLE bit_storage ( VS_COL1 BIT(4), VS_COL2 BIT(4), VS_COL3 BIT(4), VS_COL4 BIT(4), VS_COL5 BIT(4), VS_COL6 BIT(4), VS_COL7 BIT(4), VS_COL8 BIT(4) ) DISTRIBUTE BY REPLICATION; m_db=# CREATE TABLE string_storage ( VS_COL1 BLOB, VS_COL2 TINYBLOB, VS_COL3 MEDIUMBLOB, VS_COL4 LONGBLOB, VS_COL5 TEXT, VS_COL6 TINYTEXT, VS_COL7 MEDIUMTEXT, VS_COL8 LONGTEXT ) DISTRIBUTE BY REPLICATION; m_db=# INSERT INTO bit_storage VALUES(B'101', B'101', B'101', B'101', B'101', B'101', B'101', B'101'); m_db=# INSERT INTO string_storage SELECT * FROM bit_storage; m_db=# SELECT * FROM string_storage; VS_COL1 | VS_COL2 | VS_COL3 | VS_COL4 | VS_COL5 | VS_COL6 | VS_COL7 | VS_COL8 ---------+---------+---------+---------+---------+---------+---------+--------- \x05 | \x05 | \x05 | \x05 | \x05 | \x05 | \x05 | \x05 (1 row) m_db=# DROP TABLE bit_storage, string_storage; mysql> CREATE TABLE bit_storage ( VS_COL1 BIT(4), VS_COL2 BIT(4), VS_COL3 BIT(4), VS_COL4 BIT(4), VS_COL5 BIT(4), VS_COL6 BIT(4), VS_COL7 BIT(4), VS_COL8 BIT(4) ); mysql> CREATE TABLE bit_storage ( VS_COL1 BIT(4), VS_COL2 BIT(4), VS_COL3 BIT(4), VS_COL4 BIT(4), VS_COL5 BIT(4), VS_COL6 BIT(4), VS_COL7 BIT(4), VS_COL8 BIT(4) ); mysql> INSERT INTO bit_storage VALUES(B'101', B'101', B'101', B'101', B'101', B'101', B'101', B'101'); mysql> INSERT INTO string_storage SELECT * FROM bit_storage; mysql> SELECT * FROM string_storage; +---------+---------+---------+---------+---------+---------+---------+---------+ | VS_COL1 | VS_COL2 | VS_COL3 | VS_COL4 | VS_COL5 | VS_COL6 | VS_COL7 | VS_COL8 | +---------+---------+---------+---------+---------+---------+---------+---------+ | | | | | | | | | +---------+---------+---------+---------+---------+---------+---------+---------+ 1 row in set (0.00 sec) mysql> DROP TABLE bit_storage, string_storage;
- WHERE子句中只带有普通字符串,GaussDB中't'、'true'、'yes'、 'y'、'on'返回TRUE,'no'、'f'、'off'、'false'、'n'返回FALSE,其余字符串报错。MySQL通过字符串转换为INT1判断返回TRUE/FALSE。
m_db=# CREATE TABLE test_where ( A INT ); m_db=# INSERT INTO test_where VALUES (1); m_db=# SELECT * FROM test_where WHERE '111'; ERROR: invalid input syntax for type boolean: "111" LINE 1: SELECT * FROM test_where WHERE '111'; m_db=# DROP TABLE test_where; mysql> CREATE TABLE test_where ( A INT ); mysql> INSERT INTO test_where VALUES (1); mysql> SELECT * FROM test_where WHERE '111'; +------+ | a | +------+ | 1 | +------+ 1 row in set (0.01 sec) mysql> DROP TABLE test_where;
- 对于YEAR类型的输入,在将字符串转换为整型的过程中,MySQL考虑科学计数法,GaussDB暂不支持,统一做截断处理。
m_db=# CREATE TABLE test_year ( A YEAR ); m_db=# SET sql_mode = ''; m_db=# INSERT INTO test_year VALUES ('2E3x'); WARNING: Data truncated for column. LINE 1: INSERT INTO test_year VALUES ('2E3x'); ^ CONTEXT: referenced column: a m_db=# SELECT * FROM test_year ORDER BY A; a ------ 2002 (1 row) m_db=# DROP TABLE test_year; mysql> CREATE TABLE test_year ( A YEAR ); mysql> INSERT INTO test_year VALUES ('2E3x'); mysql> SELECT * FROM test_year ORDER BY A; +------+ | a | +------+ | 2000 | +------+ 1 row in set (0.01 sec) mysql> DROP TABLE test_year;
- 对于UNION的CREATE TABLE AS场景,GaussDB不区分左右子节点的顺序,MySQL区分左右子节点的顺序,左右子节点互换会导致结果不同。
m_db=# CREATE TABLE test2( F1 FLOAT, I1 TINYINT, I2 SMALLINT, DTT1 DATETIME(6), DEC3 DECIMAL(32, 15), JS1 JSON, D2 DOUBLE, CH1 CHAR(255), D3 DOUBLE, TX1 TINYTEXT ); m_db=# CREATE TABLE test1 SELECT DISTINCT concat((F1 + I1 - DTT1) * DEC3 % D2 / CH1) a from test2 UNION ALL SELECT sqrt((DEC3 + DTT1 - JS1) * D3 / - TX1 % I2) FROM test2; m_db=# DESC test1; Field | Type | Null | Key | Default | Extra -------+------+------+-----+---------+------- a | text | YES | | | (1 row) m_db=# CREATE TABLE test3 SELECT DISTINCT sqrt((DEC3 + DTT1 - JS1) * D3 / - TX1 % I2) a from test2 UNION ALL SELECT concat((F1 + I1 - DTT1) * DEC3 % D2 / CH1) FROM test2; m_db=# DESC test3; Field | Type | Null | Key | Default | Extra -------+------+------+-----+---------+------- a | text | YES | | | (1 row) m_db=# DROP TABLE test1, test2, test3; mysql> CREATE TABLE test2( F1 FLOAT, I1 TINYINT, I2 SMALLINT, DTT1 DATETIME(6), DEC3 DECIMAL(32, 15), JS1 JSON, D2 DOUBLE, CH1 CHAR(255), D3 DOUBLE, TX1 TINYTEXT ); mysql> CREATE TABLE test1 SELECT DISTINCT concat((F1 + I1 - DTT1) * DEC3 % D2 / CH1) a from test2 UNION ALL SELECT sqrt((DEC3 + DTT1 - JS1) * D3 / - TX1 % I2) FROM test2; mysql> DESC test1; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | a | varchar(53) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> CREATE TABLE test3 SELECT DISTINCT sqrt((DEC3 + DTT1 - JS1) * D3 / - TX1 % I2) a from test2 UNION ALL SELECT concat((F1 + I1 - DTT1) * DEC3 % D2 / CH1) FROM test2; mysql> DESC test3; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | a | varchar(23) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> DROP TABLE test1, test2, test3;
- GaussDB中函数嵌套场景下,涉及到聚合函数(如max、min、sum和avg)中存在字符串类型包含非数值字符,隐式转换到数值类型发生截断或置零,且包含操作符比较、having比较的场景时,GaussDB统一进行类型转换并产生告警,MySQL在相同场景下不会全部产生告警。
m_db=# SET m_format_behavior_compat_options= 'enable_precision_decimal'; SET m_db=# SELECT max(c4) <> 0 FROM ((SELECT 2.22 id, '2006-04-27 20:19:02.132' c4)) tb_1; WARNING: Truncated incorrect double value: '2006-04-27 20:19:02.132' ?column? ---------- t (1 row) m_db=# SELECT sum(c4) <> 0 FROM ((SELECT 2.22 id, '2006-04-27 20:19:02.132' c4)) tb_1; WARNING: Truncated incorrect double value: '2006-04-27 20:19:02.132' ?column? ---------- t (1 row) m_db=# SELECT (SELECT max(c4) f5 FROM ((SELECT 2.22 id, '2006-04-27 20:19:08.132' c4) UNION all (SELECT 2.22 id, '1985-09-01 07:59:59' c4)) tb_1 m_db(# WHERE EXISTS (SELECT max(c4) FROM ((SELECT 2.22 id, '2006-04-27 20:19:08.132' c4) UNION all (SELECT 2.22 id, '1985-09-01 07:59:59' c4)) tb_2) m_db(# GROUP BY id WITH rollup HAVING f5<>0 LIMIT 0,1) + INTERVAL '33.22' SECOND_MICROSECOND col5; WARNING: Truncated incorrect double value: '2006-04-27 20:19:08.132' CONTEXT: referenced column: col5 col5 ---------------------------- 2006-04-27 20:19:41.352000 (1 row) m_db=# SELECT (SELECT sum(c4) f5 FROM ((SELECT 2.22 id, '2006-04-27 20:19:08.132' c4) UNION all (SELECT 2.22 id, '1985-09-01 07:59:59' c4)) tb_1 m_db(# WHERE EXISTS (SELECT sum(c4) FROM ((SELECT 2.22 id, '2006-04-27 20:19:08.132' c4) UNION all (SELECT 2.22 id, '1985-09-01 07:59:59' c4)) tb_2) m_db(# GROUP BY id WITH rollup HAVING f5<>0 LIMIT 0,1) + INTERVAL '33.22' SECOND_MICROSECOND col5; WARNING: Truncated incorrect double value: '2006-04-27 20:19:08.132' CONTEXT: referenced column: col5 WARNING: Truncated incorrect double value: '1985-09-01 07:59:59' CONTEXT: referenced column: col5 WARNING: Truncated incorrect double value: '2006-04-27 20:19:08.132' CONTEXT: referenced column: col5 WARNING: Truncated incorrect double value: '2006-04-27 20:19:08.132' CONTEXT: referenced column: col5 WARNING: Truncated incorrect double value: '1985-09-01 07:59:59' CONTEXT: referenced column: col5 WARNING: Truncated incorrect double value: '1985-09-01 07:59:59' CONTEXT: referenced column: col5 WARNING: Incorrect datetime value: '3991' CONTEXT: referenced column: col5 col5 ------ (1 row) mysql> SELECT max(c4) <> 0 FROM ((SELECT 2.22 id, '2006-04-27 20:19:02.132' c4)) tb_1; +--------------+ | max(c4) <> 0 | +--------------+ | 1 | +--------------+ 1 row in set (0.00 sec) mysql> SELECT sum(c4) <> 0 FROM ((SELECT 2.22 id, '2006-04-27 20:19:02.132' c4)) tb_1; +--------------+ | sum(c4) <> 0 | +--------------+ | 1 | +--------------+ 1 row in set, 1 warning (0.00 sec) mysql> SHOW warnings; +---------+------+-------------------------------------------------------------+ | Level | Code | Message | +---------+------+-------------------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2006-04-27 20:19:02.132' | +---------+------+-------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (SELECT max(c4) f5 FROM ((SELECT 2.22 id, '2006-04-27 20:19:08.132' c4) UNION all (SELECT 2.22 id, '1985-09-01 07:59:59' c4)) tb_1 -> WHERE EXISTS (SELECT max(c4) FROM ((SELECT 2.22 id, '2006-04-27 20:19:08.132' c4) UNION all (SELECT 2.22 id, '1985-09-01 07:59:59' c4)) tb_2) -> GROUP BY id WITH rollup HAVING f5<>0 limit 0,1) + INTERVAL '33.22' SECOND_MICROSECOND col5; +----------------------------+ | col5 | +----------------------------+ | 2006-04-27 20:19:41.352000 | +----------------------------+ 1 row in set (0.00 sec) mysql> SELECT (SELECT sum(c4) f5 FROM ((SELECT 2.22 id, '2006-04-27 20:19:08.132' c4) UNION all (SELECT 2.22 id, '1985-09-01 07:59:59' c4)) tb_1 -> WHERE EXISTS (SELECT sum(c4) FROM ((SELECT 2.22 id, '2006-04-27 20:19:08.132' c4) UNION all (SELECT 2.22 id, '1985-09-01 07:59:59' c4)) tb_2) -> GROUP BY id WITH rollup HAVING f5<>0 LIMIT 0,1) + INTERVAL '33.22' SECOND_MICROSECOND col5; +------+ | col5 | +------+ | NULL | +------+ 1 row in set, 7 warnings (0.01 sec) mysql> SHOW warnings; +---------+------+-------------------------------------------------------------+ | Level | Code | Message | +---------+------+-------------------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2006-04-27 20:19:08.132' | | Warning | 1292 | Truncated incorrect DOUBLE value: '1985-09-01 07:59:59' | | Warning | 1292 | Truncated incorrect DOUBLE value: '2006-04-27 20:19:08.132' | | Warning | 1292 | Truncated incorrect DOUBLE value: '2006-04-27 20:19:08.132' | | Warning | 1292 | Truncated incorrect DOUBLE value: '1985-09-01 07:59:59' | | Warning | 1292 | Truncated incorrect DOUBLE value: '1985-09-01 07:59:59' | | Warning | 1292 | Incorrect datetime value: '3991' | +---------+------+-------------------------------------------------------------+ 7 rows in set (0.00 sec)
显式类型转换差异点
- GaussDB中平铺成对各目标类型的转换规则,MySQL中使用C++多态重载函数,在嵌套场景中存在不一致行为。
示例:
m_db=# SELECT CAST(GREATEST(date'2023-01-01','2023-01-01') AS SIGNED); WARNING: Truncated incorrect INTEGER value: '2023-01-01' CONTEXT: referenced column: cast cast ------ 2023 (1 row) mysql> SELECT CAST(GREATEST(date'2023-01-01','2023-01-01') AS SIGNED); +---------------------------------------------------------+ | CAST(GREATEST(date'2023-01-01','2023-01-01') AS SIGNED) | +---------------------------------------------------------+ | 20230101 | +---------------------------------------------------------+
- 在GaussDB中,BLOB、TINYBLOB、MEDIUMBLOB、LONGBLOB、BINARY、VARBINARY、BIT、及YEAR类型显式转换为JSON类型,结果与MySQL不同。
m_db=# CREATE TABLE test_blob (c1 BLOB, c2 TINYBLOB, c3 MEDIUMBLOB, c4 LONGBLOB, c5 BINARY(32), c6 VARBINARY(100), c7 BIT(64), c8 YEAR); CREATE TABLE m_db=# INSERT INTO test_blob VALUES('[1, "json"]', 'true', 'abc', '{"jsnid": 1, "tag": "ab"}', '[1, "json"]', '{"jsnid": 1, "tag": "ab"}', '20', '2020'); INSERT 0 1 m_db=# SELECT CAST(c1 AS JSON), CAST(c2 AS JSON), CAST(c3 AS JSON), CAST(c4 AS JSON), CAST(c5 AS JSON), CAST(c6 AS JSON), CAST(c7 AS JSON), CAST(c8 AS JSON) FROM test_blob; CAST | CAST | CAST | CAST | CAST | CAST | CAST | CAST -----------------+--------+-------+-----------------------------------+--------------------------------------+-----------------------------------+------+-------- "[1, \"json\"]" | "true" | "abc" | "{\"jsnid\": 1, \"tag\": \"ab\"}" | "[1, \"json\"] " | "{\"jsnid\": 1, \"tag\": \"ab\"}" | "20" | "2020" (1 row) mysql> CREATE TABLE test_blob (c1 BLOB, c2 TINYBLOB, c3 MEDIUMBLOB, c4 LONGBLOB, c5 BINARY(32), c6 VARBINARY(100), c7 BIT(64), c8 YEAR); Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO test_blob VALUES('[1, "json"]', 'true', 'abc', '{"jsnid": 1, "tag": "ab"}', '[1, "json"]', '{"jsnid": 1, "tag": "ab"}', '20', '2020'); Query OK, 1 row affected (0.00 sec) mysql> SELECT CAST(c1 AS JSON), CAST(c2 AS JSON), CAST(c3 AS JSON), CAST(c4 AS JSON), CAST(c5 AS JSON), CAST(c6 AS JSON), CAST(c7 AS JSON), CAST(c8 AS JSON) FROM test_blob; +-----------------------------------+---------------------------+-----------------------+-------------------------------------------------------+---------------------------------------------------------------+------------------------------------------------------+------------------------------+--------------------------+ | CAST(c1 AS JSON) | CAST(c2 AS JSON) | CAST(c3 AS JSON) | CAST(c4 AS JSON) | CAST(c5 AS JSON) | CAST(c6 AS JSON) | CAST(c7 AS JSON) | CAST(c8 AS JSON) | +-----------------------------------+---------------------------+-----------------------+-------------------------------------------------------+---------------------------------------------------------------+------------------------------------------------------+------------------------------+--------------------------+ | "base64:type252:WzEsICJqc29uIl0=" | "base64:type249:dHJ1ZQ==" | "base64:type250:YWJj" | "base64:type251:eyJqc25pZCI6IDEsICJ0YWciOiAiYWIifQ==" | "base64:type254:WzEsICJqc29uIl0AAAAAAAAAAAAAAAAAAAAAAAAAAAA=" | "base64:type15:eyJqc25pZCI6IDEsICJ0YWciOiAiYWIifQ==" | "base64:type16:AAAAAAAAMjA=" | "base64:type13:MjAyMA==" | +-----------------------------------+---------------------------+-----------------------+-------------------------------------------------------+---------------------------------------------------------------+------------------------------------------------------+------------------------------+--------------------------+ 1 row in set (0.00 sec)
- GaussDB在JSON数据类型显式转换后运用于精度计算时,与MySQL 5.7不一致,与MySQL 8.0一致,计算时精度与使用JSON类型表中数据精度保持一致。
test=# DROP TABLE tt01; DROP TABLE test=# CREATE TABLE tt01 AS SELECT -cast('98.7654321' AS json) AS c1; INSERT 0 1 test=# DESC tt01; Field | Type | Null | Key | Default | Extra -------+--------+------+-----+---------+------- c1 | double | YES | | | (1 row) test=# SELECT * FROM tt01; c1 ------------- -98.7654321 (1 row) mysql> SELECT version(); +------------------+ | version() | +------------------+ | 5.7.44-debug-log | +------------------+ 1 row in set (0.00 sec) mysql> DROP TABLE tt01; Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE tt01 AS SELECT -cast('98.7654321' AS json) AS c1; Query OK, 1 row affected (0.03 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> DESC tt01; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | c1 | double(17,0) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> SELECT * FROM tt01; +------+ | c1 | +------+ | -99 | +------+ 1 row in set (0.00 sec) mysql> SELECT version(); +--------------+ | version() | +--------------+ | 8.0.36-debug | +--------------+ 1 row in set (0.00 sec) mysql> DROP TABLE tt01; Query OK, 0 rows affected (0.05 sec) mysql> CREATE TABLE tt01 AS SELECT -cast('98.7654321' AS json) AS c1; Query OK, 1 row affected (0.12 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> DESC tt01; +-------+--------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------+------+-----+---------+-------+ | c1 | double | YES | | NULL | | +-------+--------+------+-----+---------+-------+ 1 row in set (0.01 sec) mysql> SELECT * FROM tt01; +-------------+ | c1 | +-------------+ | -98.7654321 | +-------------+ 1 row in set (0.00 sec)
UNION,CASE和相关构造差异点
- POLYGON + NULL、POINT + NULL、POLYGON + POINT组合在MySQL中均返回GEOMETRY类型,GaussDB中未涉及,暂时当做报错处理。
- SET和ENUM两种类型暂未支持,暂时当做报错处理。
- JSON和二进制类型(BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB)的UNION和UNION ALL组合,MySQL中返回LONGBLOB类型,GaussDB中返回JSON类型,同时支持二进制类型(BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB)到JSON的隐式类型转换。
- 未设置m_format_behavior_compat_options为enable_precision_decimal时,常量类型和其他类型做类型聚合的时候,输出类型的精度为其他类型的精度。如“SELECT "helloworld" UNION SELECT p FROM t;”的结果的精度为属性p的精度。
- 未设置m_format_behavior_compat_options为enable_precision_decimal时,定点常量和不带精度约束的类型(非字符串类型如int、bool、year等,聚合结果类型为定点类型)聚合时,精度约束会按照定点数默认精度31输出。
- merge rule差异:
MySQL 5.7中存在部分不合理的类型推导,如BIT类型和整型/YEAR类型推导会得出VARBINARY类型,UNSIGNED类型和非UNSIGNED类型推导会得到带UNSIGNED的类型等,同时CASE WHEN和UNION的聚合结果也存在差异,类型推导结果太小时存在数据溢出风险。在MySQL 8.0版本修复了上述相关的问题,因此merge rule聚合规则以8.0为准。
- MySQL中BINARY和CHAR填充字符不相同,BINARY填充'\0',CHAR填充空格,GaussDB中BINARY和CHAR都是填充空格。
- 在精度传递场景下,使用CASE WHEN语句时,会进行类型转换和精度重新计算,导致最终的输出结果与CASE子句对比会出现末尾多零场景或末尾少零场景:
- 末尾多零场景:CASE节点会根据CASE子句的精度计算CASE节点精度,当THEN子句的精度比CASE节点的精度小时,会在CASE节点末尾补零。
- 末尾少零场景:多层CASE WHEN嵌套时,内层CASE执行类型转换之后,只保留内层CASE的精度,外层CASE无法得到THEN子句的精度信息,因此外层CASE会根据内层CASE的精度计算的精度进行类型转换。当外层CASE类型转换时内层CASE精度比THEN子句少,会出现末尾少零场景。
示例:
- 末尾多零少零场景。
-- 末尾多零场景。 m_db=# SELECT 15.6 AS result; result -------- 15.6 (1 row) m_db=# SELECT CASE WHEN 1 < 2 THEN 15.6 ELSE 23.578 END AS result; result -------- 15.600 (1 row) m_db=# SELECT greatest(12, 3.4, 15.6) AS result; result -------- 15.6 (1 row) m_db=# SELECT CASE WHEN 1 < 2 THEN greatest(12, 3.4, 15.6) ELSE greatest(123.4, 23.578, 36) END AS result; result -------- 15.600 (1 row) -- 末尾少零场景。 m_db=# CREATE TABLE t1 AS SELECT (false/-timestamp '2008-12-31 23:59:59.678') AS result; INSERT 0 1 m_db=# DESC t1; Field | Type | Null | Key | Default | Extra --------+-------------+------+-----+---------+------- result | double(8,7) | YES | | | (1 row) m_db=# SELECT (false/-timestamp '2008-12-31 23:59:59.678') AS result; result ------------ -0.0000000 (1 row) m_db=# CREATE TABLE t1 AS SELECT (CASE WHEN 1<2 THEN false/-timestamp '2008-12-31 23:59:59.678' ELSE 0016.11e3/'22.2' END) AS result; INSERT 0 1 m_db=# DESC t1; Field | Type | Null | Key | Default | Extra --------+--------+------+-----+---------+------- result | double | YES | | | (1 row) m_db=# SELECT (CASE WHEN 1<2 THEN false/-timestamp '2008-12-31 23:59:59.678' ELSE 0016.11e3/'22.2' END) AS result; result -------- -0 (1 row) m_db=# DROP TABLE t1; DROP TABLE m_db=# CREATE TABLE t1 AS SELECT (CASE WHEN 1+1=2 THEN CASE WHEN 1<2 THEN false/-timestamp '2008-12-31 23:59:59.678' ELSE 0016.11e3/'22.2' END ELSE 'test' END) AS result; INSERT 0 1 m_db=# desc t1; Field | Type | Null | Key | Default | Extra --------+-------------+------+-----+---------+------- result | varchar(23) | YES | | | (1 row) m_db=# SELECT (CASE WHEN 1+1=2 THEN CASE WHEN 1<2 THEN false/-timestamp '2008-12-31 23:59:59.678' ELSE 0016.11e3/'22.2' END ELSE 'test' END) AS result; result -------- -0 (1 row)
- 在开启精度传递的场景下,使用集合运算(UNION、MINUS、EXCEPT、INTERSECT),如果参与集合运算的查询语句,其查询的字段为函数、表达式而不是直接使用表中的字段,且查询的结果数据类型为INT/INT UNSIGNED,则最后返回的数据类型存在差异。在MySQL中,返回的数据类型为BIGINT/BIGINT UNSIGNED;在GaussDB中,返回的数据类型为INT/INT UNSIGNED。
-- GaussDB执行结果。 m_db=# SET m_format_behavior_compat_options='select_column_name,enable_precision_decimal'; SET m_db=# DROP TABLE IF EXISTS t1,t2,ctas1,ctas2; DROP TABLE m_db=# CREATE TABLE t1(a INT, b INT); CREATE TABLE m_db=# CREATE TABLE t2(c INT UNSIGNED, d INT UNSIGNED); CREATE TABLE m_db=# CREATE TABLE ctas1 AS (SELECT a, ABS(a) FROM t1) UNION (SELECT b, ABS(b) FROM t1); INSERT 0 0 m_db=# DESC ctas1; Field | Type | Null | Key | Default | Extra --------+-------------+------+-----+---------+------- a | integer(11) | YES | | | ABS(a) | integer(11) | YES | | | (2 rows) m_db=# CREATE TABLE ctas2 AS (SELECT c, ABS(c) FROM t2) UNION (SELECT d, ABS(d) FROM t2); INSERT 0 0 m_db=# DESC ctas2; Field | Type | Null | Key | Default | Extra --------+----------------------+------+-----+---------+------- c | integer(11) unsigned | YES | | | ABS(c) | integer(11) unsigned | YES | | | (2 rows) m_db=# DROP TABLE IF EXISTS t1,t2,ctas1,ctas2; DROP TABLE -- MySQL执行结果。 mysql> DROP TABLE IF EXISTS t1,t2,ctas1,ctas2; Query OK, 0 rows affected, 4 warnings (0.00 sec) mysql> CREATE TABLE t1(a INT, b INT); Query OK, 0 rows affected (0.05 sec) mysql> CREATE TABLE t2(c INT UNSIGNED, d INT UNSIGNED); Query OK, 0 rows affected (0.03 sec) mysql> CREATE TABLE ctas1 AS (SELECT a, ABS(a) FROM t1) UNION (SELECT b, ABS(b) FROM t1); Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC ctas1; +--------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+------------+------+-----+---------+-------+ | a | int(11) | YES | | NULL | | | ABS(a) | bigint(20) | YES | | NULL | | +--------+------------+------+-----+---------+-------+ 2 rows in set (0.01 sec) mysql> CREATE TABLE ctas2 AS (SELECT c, ABS(c) FROM t2) UNION (SELECT d, ABS(d) FROM t2); Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC ctas2; +--------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+---------------------+------+-----+---------+-------+ | c | int(11) unsigned | YES | | NULL | | | ABS(c) | bigint(20) unsigned | YES | | NULL | | +--------+---------------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) mysql> DROP TABLE IF EXISTS t1,t2,ctas1,ctas2; Query OK, 0 rows affected (0.07 sec)
- 在开启精度传递的场景下,CASE WHEN被嵌套场景的结果与MySQL保持差异。MySQL的类型可以透过多层直接转换,而GaussDB结果精度是逐层确定并且逐层转换的,因此可能导致结果小数位或进位和MySQL不一致。
-- GaussDB: m_db=# SET m_format_behavior_compat_options='enable_precision_decimal'; SET m_db=# SELECT (CASE WHEN 1+1=3 THEN 'test' ELSE CASE WHEN 1>2 THEN '-1.5'%06.6600e1 ELSE -TIME '10:10:10.456'%2.2 END END) RES; res --------------------- -1.8559999999974321 (1 row) -- MySQL: mysql> SELECT (CASE WHEN 1+1=3 THEN 'test' ELSE CASE WHEN 1>2 THEN '-1.5'%06.6600e1 ELSE -TIME '10:10:10.456'%2.2 END END) RES; +--------+ | res | +--------+ | -1.856 | +--------+ 1 row in set (0.00 sec)
- 对于需要int类型的运算符(如 ~,&,|,<<,>>)嵌套CASE WHEN语句,若CASE WHEN语句返回的是varchar类型,则实际情况可以会发生截断(根据原表数据分析是否会发生截断),GaussDB会报出相应错误(SELECT查询warning告警,CREATE建表error报错),MySQL不会报错。若GaussDB想要完成CREATE TABLE建表操作,可以通过设置sql_mode关闭严格模式。
-- GaussDB: m_db=# CREATE TABLE t_base (num_var numeric(20, 10), time_var time(6)); CREATE TABLE m_db=# INSERT INTO t_base VALUES ('-2514.1441000000','12:10:10.125000'),('-417.2147000000',' 11:30:25.258000'); INSERT 0 2 m_db=# SELECT (~(CASE WHEN false THEN time_var ELSE num_var END)) AS res2 FROM t_base; WARNING: Truncated incorrect INTEGER value: '-2514.1441000000' CONTEXT: referenced column: res2 WARNING: Truncated incorrect INTEGER value: '-417.2147000000' CONTEXT: referenced column: res2 res2 ------ 2513 416 (2 rows) m_db=# CREATE TABLE t1 AS SELECT (~(CASE WHEN false THEN time_var ELSE num_var END)) AS res2 FROM t_base; ERROR: Truncated incorrect INTEGER value: '-2514.1441000000' CONTEXT: referenced column: res2 m_db=# SET sql_mode=""; SET m_db=# CREATE TABLE t1 AS SELECT (~(CASE WHEN false THEN time_var ELSE num_var END)) AS res2 FROM t_base; WARNING: Truncated incorrect INTEGER value: '-2514.1441000000' CONTEXT: referenced column: res2 WARNING: Truncated incorrect INTEGER value: '-417.2147000000' CONTEXT: referenced column: res2 INSERT 0 2 m_db=# DESC t1; Field | Type | Null | Key | Default | Extra -------+---------------------+------+-----+---------+------- res2 | bigint(21) unsigned | YES | | | (1 row) -- MySQL: mysql> CREATE TABLE t_base (num_var numeric(20, 10), time_var time(6)); Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO t_base VALUES ('-2514.1441000000','12:10:10.125000'),('-417.2147000000',' 11:30:25.258000'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> SELECT (~(CASE WHEN false THEN time_var ELSE num_var END)) AS res2 FROM t_base; +------+ | res2 | +------+ | 2513 | | 416 | +------+ 2 rows in set (0.00 sec) mysql> CREATE TABLE t1 AS SELECT (~(CASE WHEN false THEN time_var ELSE num_var END)) AS res2 FROM t_base; Query OK, 2 rows affected (0.01 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> DESC t1; +-------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------------------+------+-----+---------+-------+ | res2 | bigint(21) unsigned | YES | | NULL | | +-------+---------------------+------+-----+---------+-------+ 1 row in set (0.00 sec)
- 在开启精度传递的场景下,对于CREATE VIEW AS SELECT CASE WHEN语句和SELECT CASE WHEN语句嵌套常量(包括常量计算、函数嵌套常量等)的情况,GaussDB在该情况下值保持一致,MySQL在SELECT CASE WHEN语句中可能会丢失部分精度。
-- GaussDB: m_db=# CREATE OR REPLACE VIEW test_view AS m_db-# SELECT (CASE WHEN 1<2 THEN 3.33/4.46 ELSE 003.3630/002.2600 END) c1,(CASE WHEN 1>2 THEN IFNULL(null,3.363/2.2) ELSE NULLIF(3.33/4.46,3.363/2.2) END) c2; CREATE VIEW m_db=# SELECT * FROM test_view; c1 | c2 ------------+----------- 0.74663677 | 0.7466368 (1 row) m_db=# SELECT (CASE WHEN 1<2 THEN 3.33/4.46 ELSE 003.3630/002.2600 END) c1,(CASE WHEN 1>2 THEN IFNULL(null,3.363/2.2) ELSE NULLIF(3.33/4.46,3.363/2.2) END) c2; c1 | c2 ------------+----------- 0.74663677 | 0.7466368 (1 row) -- MySQL: mysql> CREATE OR REPLACE VIEW test_view AS -> SELECT (CASE WHEN 1<2 THEN 3.33/4.46 ELSE 003.3630/002.2600 END) c1,(CASE WHEN 1>2 THEN IFNULL(null,3.363/2.2) ELSE NULLIF(3.33/4.46,3.363/2.2) END) c2; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM test_view; +------------+-----------+ | c1 | c2 | +------------+-----------+ | 0.74663677 | 0.7466368 | +------------+-----------+ 1 row in set (0.00 sec) mysql> SELECT (CASE WHEN 1<2 THEN 3.33/4.46 ELSE 003.3630/002.2600 END) c1,(CASE WHEN 1>2 THEN IFNULL(null,3.363/2.2) ELSE NULLIF(3.33/4.46,3.363/2.2) END) c2; +----------+----------+ | c1 | c2 | +----------+----------+ | 0.746637 | 0.746637 | +----------+----------+ 1 row in set (0.00 sec)
- 在开启精度传递的场景下,M-Compatibility模式数据库支持UNION/CASE WHEN语句建表,但是由于架构不同,M-Compatibility模式数据库无法保证创建的表的所有类型与MySQL 8.0完全相同。MySQL返回字符串、二进制相关类型的场景,以及部分函数嵌套场景,与GaussDB存在不一致。
-- GaussDB: m_db=# CREATE TABLE IF NOT EXISTS testcase (id int, col_text1 tinytext, col_text2 text, col_blob1 tinyblob, col_blob2 blob, col_blob3 mediumblob, col_blob4 longblob); CREATE TABLE m_db=# CREATE TABLE t1 AS SELECT id,(CASE WHEN id=2 THEN col_text1 ELSE 'test' END) f35, (CASE WHEN id=2 THEN col_text2 ELSE 'test' END) f36,(CASE WHEN id=2 THEN col_blob1 ELSE 'test' END) f41, (CASE WHEN id=2 THEN col_blob2 ELSE 'test' END) f42, (CASE WHEN id=2 THEN col_blob3 ELSE 'test' END) f43, (CASE WHEN id=2 THEN col_blob4 ELSE 'test' END) f44 FROM testcase; INSERT 0 0 m_db=# DESC t1; Field | Type | Null | Key | Default | Extra -------+----------------+------+-----+---------+------- id | integer(11) | YES | | | f35 | varchar(255) | YES | | | f36 | mediumtext | YES | | | f41 | varbinary(255) | YES | | | f42 | blob | YES | | | f43 | mediumblob | YES | | | f44 | longblob | YES | | | (7 rows) m_db=# CREATE TABLE IF NOT EXISTS testtext1 (col10 text); CREATE TABLE m_db=# CREATE TABLE IF NOT EXISTS testtext2 (col10 text); CREATE TABLE m_db=# CREATE TABLE testtext AS (SELECT * FROM testtext1) UNION (SELECT * FROM testtext2); CREATE TABLE m_db=# DESC testtext; m_db=# Field | Type | Null | Key | Default | Extra -------+------+------+-----+---------+------- col10 | text | YES | | | (1 row) m_db=# CREATE TABLE testchar AS SELECT (SELECT lcase(-6873.4354)) a, (SELECT sec_to_time(-485769.567)) b UNION ALL SELECT (SELECT bin(-58768923.21321)), (SELECT asin(-0.7237465)); INSERT 0 2 m_db=# desc testchar; Field | Type | Null | Key | Default | Extra -------+-------------+------+-----+---------+------- a | text | YES | | | b | varchar(23) | YES | | | (2 rows) m_db=# CREATE TABLE test_func (col_text char(29)); CREATE TABLE m_db=# CREATE TABLE test1 AS SELECT * FROM ( SELECT GREATEST(2.22, col_text) f1, LEAST(2.22, col_text) f2, ADDDATE(col_text, INTERVAL '1.28.16.31' HOUR_MICROSECOND) f3, SUBDATE(col_text, INTERVAL '39.49.15' MINUTE_MICROSECOND) f4, DATE_SUB(col_text, INTERVAL '45' MICROSECOND) f5, DATE_ADD(col_text, INTERVAL '12.00.00.00.001' DAY_MICROSECOND) f6, ADDTIME(col_text, '8:20:20.3554') f7, SUBTIME(col_text, '8:20:20.3554') f8 from test_func) t1 UNION ALL SELECT * FROM ( SELECT GREATEST(2.22, col_text) f1, LEAST(2.22, col_text) f2, ADDDATE(col_text, INTERVAL '1.28.16.31' HOUR_MICROSECOND) f3, SUBDATE(col_text, INTERVAL '39.49.15' MINUTE_MICROSECOND) f4, DATE_SUB(col_text, INTERVAL '45' MICROSECOND) f5, DATE_ADD(col_text, INTERVAL '12.00.00.00.001' DAY_MICROSECOND) f6, ADDTIME(col_text, '8:20:20.3554') f7, SUBTIME(col_text, '8:20:20.3554') f8 from test_func) t2; INSERT 0 0 m_db=# DESC test1; Field | Type | Null | Key | Default | Extra -------+-------------+------+-----+---------+------- f1 | double | YES | | | f2 | double | YES | | | f3 | varchar(29) | YES | | | f4 | varchar(29) | YES | | | f5 | varchar(29) | YES | | | f6 | varchar(29) | YES | | | f7 | varchar(29) | YES | | | f8 | varchar(29) | YES | | | (8 rows) -- MySQL: mysql> CREATE TABLE IF NOT EXISTS testcase (id int, col_text1 tinytext, col_text2 text, col_blob1 tinyblob, col_blob2 blob, col_blob3 mediumblob, col_blob4 longblob); Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE t1 AS SELECT id,(CASE WHEN id=2 THEN col_text1 ELSE 'test' END) f35, (CASE WHEN id=2 THEN col_text2 ELSE 'test' END) f36,(CASE WHEN id=2 THEN col_blob1 ELSE 'test' END) f41, (CASE WHEN id=2 THEN col_blob2 ELSE 'test' END) f42, (CASE WHEN id=2 THEN col_blob3 else 'test' END) f43, (CASE WHEN id=2 THEN col_blob4 ELSE 'test' END) f44 FROM testcase; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC t1; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | id | int | YES | | NULL | | | f35 | longtext | YES | | NULL | | | f36 | longtext | YES | | NULL | | | f41 | longblob | YES | | NULL | | | f42 | longblob | YES | | NULL | | | f43 | longblob | YES | | NULL | | | f44 | longblob | YES | | NULL | | +-------+----------+------+-----+---------+-------+ 7 rows in set (0.00 sec) mysql> CREATE TABLE IF NOT EXISTS testtext1 (col10 text); Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE IF NOT EXISTS testtext2 (col10 text); Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE testtext AS (SELECT * FROM testtext1) UNION (SELECT * FROM testtext2); Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC testtext; +-------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+---------+-------+ | col10 | mediumtext | YES | | NULL | | +-------+------------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> SET sql_mode=''; Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> CREATE TABLE testchar AS SELECT (SELECT lcase(-6873.4354)) a, (SELECT sec_to_time(-485769.567)) b UNION ALL SELECT (SELECT bin(-58768923.21321)), (SELECT asin(-0.7237465)); Query OK, 2 rows affected, 1 warning (0.02 sec) Records: 2 Duplicates: 0 Warnings: 1 mysql> DESC testchar; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | a | varchar(21) | YES | | NULL | | | b | varchar(53) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) mysql> CREATE TABLE test_func (col_text char(29)); Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE test1 AS SELECT * FROM ( SELECT -> GREATEST(2.22, col_text) f1, LEAST(2.22, col_text) f2, -> ADDDATE(col_text, INTERVAL '1.28.16.31' HOUR_MICROSECOND) f3, -> SUBDATE(col_text, INTERVAL '39.49.15' MINUTE_MICROSECOND) f4, -> DATE_SUB(col_text, INTERVAL '45' MICROSECOND) f5, -> DATE_ADD(col_text, INTERVAL '12.00.00.00.001' DAY_MICROSECOND) f6, -> ADDTIME(col_text, '8:20:20.3554') f7, -> SUBTIME(col_text, '8:20:20.3554') f8 from test_func) t1 -> UNION ALL -> SELECT * FROM ( SELECT -> GREATEST(2.22, col_text) f1, LEAST(2.22, col_text) f2, -> ADDDATE(col_text, INTERVAL '1.28.16.31' HOUR_MICROSECOND) f3, -> SUBDATE(col_text, INTERVAL '39.49.15' MINUTE_MICROSECOND) f4, -> DATE_SUB(col_text, INTERVAL '45' MICROSECOND) f5, -> DATE_ADD(col_text, INTERVAL '12.00.00.00.001' DAY_MICROSECOND) f6, -> ADDTIME(col_text, '8:20:20.3554') f7, -> SUBTIME(col_text, '8:20:20.3554') f8 from test_func) t2; -> SUBTIME(col_text, '8:20:20.3554') f8 from test_func) t1 -> UNION ALL -> SELECT * FROM ( SELECT -> GREATEST(2.22, col_text) f1, LEAST(2.22, col_text) f2, -> ADDDATE(col_text, INTERVAL '1.28.16.31' HOUR_MICROSECOND) f3, -> SUBDATE(col_text, INTERVAL '39.49.15' MINUTE_MICROSECOND) f4, -> DATE_SUB(col_text, INTERVAL '45' MICROSECOND) f5, -> DATE_ADD(col_text, INTERVAL '12.00.00.00.001' DAY_MICROSECOND) f6, -> ADDTIME(col_text, '8:20:20.3554') f7, -> SUBTIME(col_text, '8:20:20.3554') f8 from test_func) t2; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> mysql> DESC test1; +-------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+---------+-------+ | f1 | binary(23) | YES | | NULL | | | f2 | binary(23) | YES | | NULL | | | f3 | char(29) | YES | | NULL | | | f4 | char(29) | YES | | NULL | | | f5 | char(29) | YES | | NULL | | | f6 | char(29) | YES | | NULL | | | f7 | char(29) | YES | | NULL | | | f8 | char(29) | YES | | NULL | | +-------+------------+------+-----+---------+-------+ 8 rows in set (0.01 sec)
- 在开启精度传递的场景下,对于CREATE TABLE AS SELECT A % (CASE WHEN)语句,如果A是DECIMAL类型,CASE WHEN结果为日期类型(DATE、TIME、DATETIME),两者进行取模运算(%)得到的精度保持差异。GaussDB得到的精度跟decimal类型与日期类型直接取模运算得到的精度保持一致。
-- GaussDB:(decimal % date类型case)与(numeric%date), 精度一致,都是decimal(24,10)。 m_db=# SET m_format_behavior_compat_options = 'enable_precision_decimal'; SET m_db=# DROP TABLE IF EXISTS t1, t2; DROP TABLE m_db=# CREATE TABLE t1 (num_var numeric(20, 10), date_var date, time_var time(6), dt_var datetime(6)); CREATE TABLE m_db=# CREATE TABLE t2 AS SELECT num_var % (CASE WHEN true THEN dt_var ELSE dt_var END) AS res1 FROM t1; INSERT 0 0 m_db=# DESC t2; Field | Type | Null | Key | Default | Extra -------+----------------+------+-----+---------+------- res1 | decimal(24,10) | YES | | | (1 row) m_db=# DROP TABLE IF EXISTS t1, t2; DROP TABLE m_db=# CREATE TABLE t1 (num_var numeric(20, 10), date_var date, time_var time(6), dt_var datetime(6)); CREATE TABLE m_db=# CREATE TABLE t2 AS SELECT num_var % dt_var AS RES1 from t1; INSERT 0 0 m_db=# DESC t2; Field | Type | Null | Key | Default | Extra -------+----------------+------+-----+---------+------- res1 | decimal(24,10) | YES | | | (1 row) -- MySQL 5.7,精度存在差异。(decimal % date类型case)精度为decimal(65,10),(numeric%date)精度为decimal(24,10)。 mysql> DROP TABLE IF EXISTS t1, t2; Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE t1 (num_var numeric(20, 10), date_var date, time_var time(6), dt_var datetime(6)); Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE t2 AS SELECT num_var % (CASE WHEN true THEN dt_var ELSE dt_var END) AS res1 FROM t1; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC t2; +-------+----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------------+------+-----+---------+-------+ | res1 | decimal(65,10) | YES | | NULL | | +-------+----------------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> DROP TABLE IF EXISTS t1, t2; Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE t1 (num_var numeric(20, 10), date_var date, time_var time(6), dt_var datetime(6)); Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE t2 AS SELECT num_var % dt_var AS res1 FROM t1; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC t2; +-------+----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------------+------+-----+---------+-------+ | res1 | decimal(24,10) | YES | | NULL | | +-------+----------------+------+-----+---------+-------+ 1 row in set (0.00 sec) -- MySQL 8.0,(decimal % date类型case)和(numeric%date)精度都为decimal(20,10)。 mysql> DROP TABLE IF EXISTS t1, t2; Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE t1 (num_var numeric(20, 10), date_var date, time_var time(6), dt_var datetime(6)); Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE t2 AS SELECT num_var % (CASE WHEN true THEN dt_var ELSE dt_var END) AS res1 FROM t1; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC t2; +-------+----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------------+------+-----+---------+-------+ | res1 | decimal(20,10) | YES | | NULL | | +-------+----------------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> DROP TABLE IF EXISTS t1, t2; Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE t1 (num_var numeric(20, 10), date_var date, time_var time(6), dt_var datetime(6)); Query OK, 0 rows affected (0.02 sec) mysql> CREATE TABLE t2 AS SELECT num_var % dt_var AS res1 FROM t1; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC t2; +-------+----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------------+------+-----+---------+-------+ | res1 | decimal(20,10) | YES | | NULL | | +-------+----------------+------+-----+---------+-------+ 1 row in set (0.00 sec)
- 在开启精度传递的场景下,使用UNION,如果参与集合运算的查询语句,其查询的字段为常量,且查询的结果数据类型为INT/DECIMAL,则最后返回的精度存在差异。在MySQL 5.7中,返回的精度与UNION左右两侧的顺序有关;在MySQL 8.0中修复了这个问题,返回的精度与UNION左右两侧的顺序无关;在GaussDB中,返回的精度与UNION左右两侧的顺序无关,与MySQL 8.0一致,与MySQL 5.7不一致。
-- GaussDB: m_db=# CREATE TABLE t1 AS (SELECT -23.45 c2) UNION ALL (SELECT -45.678 c2); INSERT 0 2 m_db=# DESC t1; Field | Type | Null | Key | Default | Extra -------+--------------+------+-----+---------+------- c2 | decimal(5,3) | YES | | | (1 row) m_db=# CREATE TABLE t2 AS (SELECT -45.678 c2) UNION ALL (SELECT -23.45 c2); INSERT 0 2 m_db=# DESC t2; Field | Type | Null | Key | Default | Extra -------+--------------+------+-----+---------+------- c2 | decimal(5,3) | YES | | | (1 row) -- MySQL 5.7: mysql> CREATE TABLE t1 AS (SELECT -23.45 c2) UNION ALL (SELECT -45.678 c2); Query OK, 2 rows affected (2.28 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> DESC t1; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | c2 | decimal(6,3) | NO | | 0.000 | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> CREATE TABLE t2 AS (SELECT -45.678 c2) UNION ALL (SELECT -23.45 c2); Query OK, 2 rows affected (2.22 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> DESC t2; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | c2 | decimal(5,3) | NO | | 0.000 | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.00 sec) -- MySQL 8.0: mysql> CREATE TABLE t1 AS (SELECT -23.45 c2) UNION ALL (SELECT -45.678 c2); Query OK, 2 rows affected (0.02 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> DESC t1; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | c2 | decimal(5,3) | NO | | 0.000 | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.03 sec) mysql> CREATE TABLE t2 AS (SELECT -45.678 c2) UNION ALL (SELECT -23.45 c2); Query OK, 2 rows affected (0.03 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> DESC t2; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | c2 | decimal(5,3) | NO | | 0.000 | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.02 sec)
双冒号转换差异点
GaussDB中使用双冒号将函数入参转换为期望类型可能导致结果超出预期;MySQL中无双冒号功能。
示例:
m_db=# SELECT POW("12"::VARBINARY,"12"::VARBINARY); ERROR: value out of range: overflow CONTEXT: referenced column: pow varbinary col m_db=# CREATE TABLE test_varbinary ( A VARBINARY(10) ); m_db=# INSERT INTO test_varbinary VALUES ('12'); m_db=# SELECT POW(A, A) FROM test_varbinary; pow --------------- 8916100448256 (1 row)
decimal类型差异点
在CREATE TABLE ... AS (SELECT ...)语句中,使用decimal数据类型,若含有前缀0,M-Compatibility兼容模式下忽略前缀0,长度计算不包括0,在MySQL 5.7下,长度计算加上前缀0的数量,在MySQL 8.0下,无论存在多少个前缀0,长度计算只加上1。
--GaussDB m_db=# CREATE TABLE test AS SELECT 004.01 col1; INSERT 0 1 m_db=# DESC test; Field | Type | Null | Key | Default | Extra -------+--------------+------+-----+---------+------- col1 | decimal(3,2) | YES | | | (1 row) --mysql 5.7 mysql> CREATE TABLE test AS SELECT 004.01 col1; Query OK, 1 row affected (0.02 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> DESC test; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | col1 | decimal(5,2) | NO | | 0.00 | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.00 sec) --mysql 8.0 mysql> CREATE TABLE test AS SELECT 004.01 col1; Query OK, 1 row affected (0.23 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> DESC test; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | col1 | decimal(4,2) | NO | | 0.00 | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.01 sec)
父主题: 数据类型