- 关于MogDB
 - 快速入门
- MogDB实训平台
 - 容器化安装
 - 单节点安装
 - 访问数据库
- 使用命令行访问MogDB
 - 使用图形工具访问MogDB
 - 使用中间件访问MogDB
 - 使用编程语言访问MogDB
 
 - 使用样本数据集Mogila
 
 - 特性描述
- 概览
 - 高性能
 - 高可用
 - 维护性
 - 数据库安全
 - 企业级特性
 - 应用开发接口
 - AI能力
- AI4DB:数据库自治运维
 - DB4AI:数据库驱动AI
 - AI in DB:数据库内AI功能
 
 - 中间件
 
 - 安装指南
 - 管理指南
 - AI特性指南
- AI特性概述
 - AI4DB:数据库自治运维
 - DB4AI:数据库驱动AI
 - AI in DB:数据库内AI功能
 
 - 安全指南
 - 开发者指南
- 应用程序开发教程
- 开发规范
 - 基于JDBC开发
- 概述
 - JDBC包、驱动类和环境类
 - 开发流程
 - 加载驱动
 - 连接数据库
 - 连接数据库(以SSL方式)
 - 执行SQL语句
 - 处理结果集
 - 关闭连接
 - 日志管理
 - 示例:常用操作
 - 示例:重新执行应用SQL
 - 示例:通过本地文件导入导出数据
 - 示例:从MY向MogDB进行数据迁移
 - 示例:逻辑复制代码示例
 - 示例:不同场景下连接数据库参数配置
 - 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
 
 
 - 基于ODBC开发
 - 基于libpq开发
- libpq使用依赖的头文件
 - 开发流程
 - 示例
 - 链接参数
 - libpq接口参考
- 数据库连接控制函数
 - 数据库执行语句函数
 - 异步命令处理
 - 取消正在处理的查询
 
 
 - 基于Psycopg开发
 - 调试
 
 - 存储过程
 - 用户自定义函数
 - PL/pgSQL-SQL过程语言
 - 定时任务
 - 自治事务
 - 逻辑复制
 - Foreign Data Wrapper
 - 物化视图
 - 分区管理
 
 - 应用程序开发教程
 - 性能优化指南
 - 参考指南
- 系统表及系统视图
- 系统表和系统视图概述
 - 系统表
- GS_ASP
 - GS_AUDITING_POLICY
 - GS_AUDITING_POLICY_ACCESS
 - GS_AUDITING_POLICY_FILTERS
 - GS_AUDITING_POLICY_PRIVILEGES
 - GS_CLIENT_GLOBAL_KEYS
 - GS_CLIENT_GLOBAL_KEYS_ARGS
 - GS_COLUMN_KEYS
 - GS_COLUMN_KEYS_ARGS
 - GS_DB_PRIVILEGE
 - GS_ENCRYPTED_COLUMNS
 - GS_ENCRYPTED_PROC
 - GS_GLOBAL_CHAIN
 - GS_GLOBAL_CONFIG
 - GS_MASKING_POLICY
 - GS_MASKING_POLICY_ACTIONS
 - GS_MASKING_POLICY_FILTERS
 - GS_MATVIEW
 - GS_MATVIEW_DEPENDENCY
 - GS_MODEL_WAREHOUSE
 - GS_OPT_MODEL
 - GS_PACKAGE
 - GS_POLICY_LABEL
 - GS_RECYCLEBIN
 - GS_TXN_SNAPSHOT
 - GS_UID
 - GS_WLM_EC_OPERATOR_INFO
 - GS_WLM_INSTANCE_HISTORY
 - GS_WLM_OPERATOR_INFO
 - GS_WLM_PLAN_ENCODING_TABLE
 - GS_WLM_PLAN_OPERATOR_INFO
 - GS_WLM_SESSION_QUERY_INFO_ALL
 - GS_WLM_USER_RESOURCE_HISTORY
 - PG_AGGREGATE
 - PG_AM
 - PG_AMOP
 - PG_AMPROC
 - PG_APP_WORKLOADGROUP_MAPPING
 - PG_ATTRDEF
 - PG_ATTRIBUTE
 - PG_AUTH_HISTORY
 - PG_AUTH_MEMBERS
 - PG_AUTHID
 - PG_CAST
 - PG_CLASS
 - PG_COLLATION
 - PG_CONSTRAINT
 - PG_CONVERSION
 - PG_DATABASE
 - PG_DB_ROLE_SETTING
 - PG_DEFAULT_ACL
 - PG_DEPEND
 - PG_DESCRIPTION
 - PG_DIRECTORY
 - PG_ENUM
 - PG_EXTENSION
 - PG_EXTENSION_DATA_SOURCE
 - PG_FOREIGN_DATA_WRAPPER
 - PG_FOREIGN_SERVER
 - PG_FOREIGN_TABLE
 - PG_HASHBUCKET
 - PG_INDEX
 - PG_INHERITS
 - PG_JOB
 - PG_JOB_PROC
 - PG_LANGUAGE
 - PG_LARGEOBJECT
 - PG_LARGEOBJECT_METADATA
 - PG_NAMESPACE
 - PG_OBJECT
 - PG_OPCLASS
 - PG_OPERATOR
 - PG_OPFAMILY
 - PG_PARTITION
 - PG_PLTEMPLATE
 - PG_PROC
 - PG_PUBLICATION
 - PG_PUBLICATION_REL
 - PG_RANGE
 - PG_REPLICATION_ORIGIN
 - PG_RESOURCE_POOL
 - PG_RLSPOLICY
 - PG_SECLABEL
 - PG_SHDEPEND
 - PG_SHDESCRIPTION
 - PG_SHSECLABEL
 - PG_STATISTIC
 - PG_STATISTIC_EXT
 - PG_SUBSCRIPTION
 - PG_SYNONYM
 - PG_TABLESPACE
 - PG_TRIGGER
 - PG_TS_CONFIG
 - PG_TS_CONFIG_MAP
 - PG_TS_DICT
 - PG_TS_PARSER
 - PG_TS_TEMPLATE
 - PG_TYPE
 - PG_USER_MAPPING
 - PG_USER_STATUS
 - PG_WORKLOAD_GROUP
 - PGXC_CLASS
 - PGXC_GROUP
 - PGXC_NODE
 - PGXC_SLICE
 - PLAN_TABLE_DATA
 - STATEMENT_HISTORY
 
 - 系统视图
- DV_SESSION_LONGOPS
 - DV_SESSIONS
 - GET_GLOBAL_PREPARED_XACTS(废弃)
 - GS_AUDITING
 - GS_AUDITING_ACCESS
 - GS_AUDITING_PRIVILEGE
 - GS_ASYNC_SUBMIT_SESSIONS_STATUS
 - GS_CLUSTER_RESOURCE_INFO
 - GS_DB_PRIVILEGES
 - GS_FILE_STAT
 - GS_GSC_MEMORY_DETAIL
 - GS_INSTANCE_TIME
 - GS_LABELS
 - GS_LSC_MEMORY_DETAIL
 - GS_MASKING
 - GS_MATVIEWS
 - GS_OS_RUN_INFO
 - GS_REDO_STAT
 - GS_SESSION_CPU_STATISTICS
 - GS_SESSION_MEMORY
 - GS_SESSION_MEMORY_CONTEXT
 - GS_SESSION_MEMORY_DETAIL
 - GS_SESSION_MEMORY_STATISTICS
 - GS_SESSION_STAT
 - GS_SESSION_TIME
 - GS_SQL_COUNT
 - GS_STAT_SESSION_CU
 - GS_THREAD_MEMORY_CONTEXT
 - GS_TOTAL_MEMORY_DETAIL
 - GS_WLM_CGROUP_INFO
 - GS_WLM_EC_OPERATOR_STATISTICS
 - GS_WLM_OPERATOR_HISTORY
 - GS_WLM_OPERATOR_STATISTICS
 - GS_WLM_PLAN_OPERATOR_HISTORY
 - GS_WLM_REBUILD_USER_RESOURCE_POOL
 - GS_WLM_RESOURCE_POOL
 - GS_WLM_SESSION_HISTORY
 - GS_WLM_SESSION_INFO
 - GS_WLM_SESSION_INFO_ALL
 - GS_WLM_SESSION_STATISTICS
 - GS_WLM_USER_INFO
 - GS_WRITE_TERM_LOG
 - MPP_TABLES
 - PG_AVAILABLE_EXTENSION_VERSIONS
 - PG_AVAILABLE_EXTENSIONS
 - PG_COMM_DELAY
 - PG_COMM_RECV_STREAM
 - PG_COMM_SEND_STREAM
 - PG_COMM_STATUS
 - PG_CONTROL_GROUP_CONFIG
 - PG_CURSORS
 - PG_EXT_STATS
 - PG_GET_INVALID_BACKENDS
 - PG_GET_SENDERS_CATCHUP_TIME
 - PG_GROUP
 - PG_GTT_ATTACHED_PIDS
 - PG_GTT_RELSTATS
 - PG_GTT_STATS
 - PG_INDEXES
 - PG_LOCKS
 - PG_NODE_ENV
 - PG_OS_THREADS
 - PG_PREPARED_STATEMENTS
 - PG_PREPARED_XACTS
 - PG_PUBLICATION_TABLES
 - PG_REPLICATION_ORIGIN_STATUS
 - PG_REPLICATION_SLOTS
 - PG_RLSPOLICIES
 - PG_ROLES
 - PG_RULES
 - PG_RUNNING_XACTS
 - PG_SECLABELS
 - PG_SESSION_IOSTAT
 - PG_SESSION_WLMSTAT
 - PG_SETTINGS
 - PG_SHADOW
 - PG_STAT_ACTIVITY
 - PG_STAT_ACTIVITY_NG
 - PG_STAT_ALL_INDEXES
 - PG_STAT_ALL_TABLES
 - PG_STAT_BAD_BLOCK
 - PG_STAT_BGWRITER
 - PG_STAT_DATABASE
 - PG_STAT_DATABASE_CONFLICTS
 - PG_STAT_REPLICATION
 - PG_STAT_SUBSCRIPTION
 - PG_STAT_SYS_INDEXES
 - PG_STAT_SYS_TABLES
 - PG_STAT_USER_FUNCTIONS
 - PG_STAT_USER_INDEXES
 - PG_STAT_USER_TABLES
 - PG_STAT_XACT_ALL_TABLES
 - PG_STAT_XACT_SYS_TABLES
 - PG_STAT_XACT_USER_FUNCTIONS
 - PG_STAT_XACT_USER_TABLES
 - PG_STATIO_ALL_INDEXES
 - PG_STATIO_ALL_SEQUENCES
 - PG_STATIO_ALL_TABLES
 - PG_STATIO_SYS_INDEXES
 - PG_STATIO_SYS_SEQUENCES
 - PG_STATIO_SYS_TABLES
 - PG_STATIO_USER_INDEXES
 - PG_STATIO_USER_SEQUENCES
 - PG_STATIO_USER_TABLES
 - PG_STATS
 - PG_TABLES
 - PG_TDE_INFO
 - PG_THREAD_WAIT_STATUS
 - PG_TIMEZONE_ABBREVS
 - PG_TIMEZONE_NAMES
 - PG_TOTAL_MEMORY_DETAIL
 - PG_TOTAL_USER_RESOURCE_INFO
 - PG_TOTAL_USER_RESOURCE_INFO_OID
 - PG_USER
 - PG_USER_MAPPINGS
 - PG_VARIABLE_INFO
 - PG_VIEWS
 - PG_WLM_STATISTICS
 - PGXC_PREPARED_XACTS
 - PLAN_TABLE
 
 
 - 系统函数
- 逻辑操作符
 - 比较操作符
 - 字符处理函数和操作符
 - 二进制字符串函数和操作符
 - 位串函数和操作符
 - 模式匹配操作符
 - 数字操作函数和操作符
 - 时间和日期处理函数和操作符
 - 类型转换函数
 - 几何函数和操作符
 - 网络地址函数和操作符
 - 文本检索函数和操作符
 - JSON/JSONB函数和操作符
 - HLL函数和操作符
 - SEQUENCE函数
 - 数组函数和操作符
 - 范围函数和操作符
 - 聚集函数
 - 窗口函数(分析函数)
 - 安全函数
 - 账本数据库的函数
 - 密态等值的函数
 - 返回集合的函数
 - 条件表达式函数
 - 系统信息函数
 - 系统管理函数
 - 统计信息函数
 - 触发器函数
 - HashFunc函数
 - 提示信息函数
 - 全局临时表函数
 - 故障注入系统函数
 - AI特性函数
 - 动态数据脱敏函数
 - 其他系统函数
 - 内部函数
 - Global SysCache特性函数
 - 数据损坏检测修复函数
 - 废弃函数
 
 - 支持的数据类型
 - SQL语法
- ABORT
 - ALTER AGGREGATE
 - ALTER AUDIT POLICY
 - ALTER DATABASE
 - ALTER DATA SOURCE
 - ALTER DEFAULT PRIVILEGES
 - ALTER DIRECTORY
 - ALTER EXTENSION
 - ALTER FOREIGN TABLE
 - ALTER FUNCTION
 - ALTER GLOBAL CONFIGURATION
 - ALTER GROUP
 - ALTER INDEX
 - ALTER LANGUAGE
 - ALTER LARGE OBJECT
 - ALTER MASKING POLICY
 - ALTER MATERIALIZED VIEW
 - ALTER PACKAGE
 - ALTER PROCEDURE
 - ALTER PUBLICATION
 - ALTER RESOURCE LABEL
 - ALTER RESOURCE POOL
 - ALTER ROLE
 - ALTER ROW LEVEL SECURITY POLICY
 - ALTER RULE
 - ALTER SCHEMA
 - ALTER SEQUENCE
 - ALTER SERVER
 - ALTER SESSION
 - ALTER SUBSCRIPTION
 - ALTER SYNONYM
 - ALTER SYSTEM KILL SESSION
 - ALTER SYSTEM SET
 - ALTER TABLE
 - ALTER TABLE PARTITION
 - ALTER TABLE SUBPARTITION
 - ALTER TABLESPACE
 - ALTER TEXT SEARCH CONFIGURATION
 - ALTER TEXT SEARCH DICTIONARY
 - ALTER TRIGGER
 - ALTER TYPE
 - ALTER USER
 - ALTER USER MAPPING
 - ALTER VIEW
 - ANALYZE | ANALYSE
 - BEGIN
 - CALL
 - CHECKPOINT
 - CLEAN CONNECTION
 - CLOSE
 - CLUSTER
 - COMMENT
 - COMMIT | END
 - COMMIT PREPARED
 - CONNECT BY
 - COPY
 - CREATE AGGREGATE
 - CREATE AUDIT POLICY
 - CREATE CAST
 - CREATE CLIENT MASTER KEY
 - CREATE COLUMN ENCRYPTION KEY
 - CREATE DATABASE
 - CREATE DATA SOURCE
 - CREATE DIRECTORY
 - CREATE EXTENSION
 - CREATE FOREIGN TABLE
 - CREATE FUNCTION
 - CREATE GROUP
 - CREATE INCREMENTAL MATERIALIZED VIEW
 - CREATE INDEX
 - CREATE LANGUAGE
 - CREATE MASKING POLICY
 - CREATE MATERIALIZED VIEW
 - CREATE MODEL
 - CREATE OPERATOR
 - CREATE PACKAGE
 - CREATE PROCEDURE
 - CREATE PUBLICATION
 - CREATE RESOURCE LABEL
 - CREATE RESOURCE POOL
 - CREATE ROLE
 - CREATE ROW LEVEL SECURITY POLICY
 - CREATE RULE
 - CREATE SCHEMA
 - CREATE SEQUENCE
 - CREATE SERVER
 - CREATE SUBSCRIPTION
 - CREATE SYNONYM
 - CREATE TABLE
 - CREATE TABLE AS
 - CREATE TABLE PARTITION
 - CREATE TABLE SUBPARTITION
 - CREATE TABLESPACE
 - CREATE TEXT SEARCH CONFIGURATION
 - CREATE TEXT SEARCH DICTIONARY
 - CREATE TRIGGER
 - CREATE TYPE
 - CREATE USER
 - CREATE USER MAPPING
 - CREATE VIEW
 - CREATE WEAK PASSWORD DICTIONARY
 - CURSOR
 - DEALLOCATE
 - DECLARE
 - DELETE
 - DO
 - DROP AGGREGATE
 - DROP AUDIT POLICY
 - DROP CAST
 - DROP CLIENT MASTER KEY
 - DROP COLUMN ENCRYPTION KEY
 - DROP DATABASE
 - DROP DATA SOURCE
 - DROP DIRECTORY
 - DROP EXTENSION
 - DROP FOREIGN TABLE
 - DROP FUNCTION
 - DROP GLOBAL CONFIGURATION
 - DROP GROUP
 - DROP INDEX
 - DROP LANGUAGE
 - DROP MASKING POLICY
 - DROP MATERIALIZED VIEW
 - DROP MODEL
 - DROP OPERATOR
 - DROP OWNED
 - DROP PACKAGE
 - DROP PROCEDURE
 - DROP PUBLICATION
 - DROP RESOURCE LABEL
 - DROP RESOURCE POOL
 - DROP ROLE
 - DROP ROW LEVEL SECURITY POLICY
 - DROP RULE
 - DROP SCHEMA
 - DROP SEQUENCE
 - DROP SERVER
 - DROP SUBSCRIPTION
 - DROP SYNONYM
 - DROP TABLE
 - DROP TABLESPACE
 - DROP TEXT SEARCH CONFIGURATION
 - DROP TEXT SEARCH DICTIONARY
 - DROP TRIGGER
 - DROP TYPE
 - DROP USER
 - DROP USER MAPPING
 - DROP VIEW
 - DROP WEAK PASSWORD DICTIONARY
 - EXECUTE
 - EXECUTE DIRECT
 - EXPLAIN
 - EXPLAIN PLAN
 - FETCH
 - GRANT
 - INSERT
 - LOCK
 - MERGE INTO
 - MOVE
 - PREDICT BY
 - PREPARE
 - PREPARE TRANSACTION
 - PURGE
 - REASSIGN OWNED
 - REFRESH INCREMENTAL MATERIALIZED VIEW
 - REFRESH MATERIALIZED VIEW
 - REINDEX
 - RELEASE SAVEPOINT
 - RESET
 - REVOKE
 - ROLLBACK
 - ROLLBACK PREPARED
 - ROLLBACK TO SAVEPOINT
 - SAVEPOINT
 - SELECT
 - SELECT INTO
 - SET
 - SET CONSTRAINTS
 - SET ROLE
 - SET SESSION AUTHORIZATION
 - SET TRANSACTION
 - SHOW
 - SHUTDOWN
 - SNAPSHOT
 - START TRANSACTION
 - TIMECAPSULE TABLE
 - TRUNCATE
 - UPDATE
 - VACUUM
 - VALUES
 
 - SQL参考
 - GUC参数说明
 - Schema
- Information Schema
 - DBE_PERF
- 概述
 - OS
 - Instance
 - Memory
 - File
 - Object
- STAT_USER_TABLES
 - SUMMARY_STAT_USER_TABLES
 - GLOBAL_STAT_USER_TABLES
 - STAT_USER_INDEXES
 - SUMMARY_STAT_USER_INDEXES
 - GLOBAL_STAT_USER_INDEXES
 - STAT_SYS_TABLES
 - SUMMARY_STAT_SYS_TABLES
 - GLOBAL_STAT_SYS_TABLES
 - STAT_SYS_INDEXES
 - SUMMARY_STAT_SYS_INDEXES
 - GLOBAL_STAT_SYS_INDEXES
 - STAT_ALL_TABLES
 - SUMMARY_STAT_ALL_TABLES
 - GLOBAL_STAT_ALL_TABLES
 - STAT_ALL_INDEXES
 - SUMMARY_STAT_ALL_INDEXES
 - GLOBAL_STAT_ALL_INDEXES
 - STAT_DATABASE
 - SUMMARY_STAT_DATABASE
 - GLOBAL_STAT_DATABASE
 - STAT_DATABASE_CONFLICTS
 - SUMMARY_STAT_DATABASE_CONFLICTS
 - GLOBAL_STAT_DATABASE_CONFLICTS
 - STAT_XACT_ALL_TABLES
 - SUMMARY_STAT_XACT_ALL_TABLES
 - GLOBAL_STAT_XACT_ALL_TABLES
 - STAT_XACT_SYS_TABLES
 - SUMMARY_STAT_XACT_SYS_TABLES
 - GLOBAL_STAT_XACT_SYS_TABLES
 - STAT_XACT_USER_TABLES
 - SUMMARY_STAT_XACT_USER_TABLES
 - GLOBAL_STAT_XACT_USER_TABLES
 - STAT_XACT_USER_FUNCTIONS
 - SUMMARY_STAT_XACT_USER_FUNCTIONS
 - GLOBAL_STAT_XACT_USER_FUNCTIONS
 - STAT_BAD_BLOCK
 - SUMMARY_STAT_BAD_BLOCK
 - GLOBAL_STAT_BAD_BLOCK
 - STAT_USER_FUNCTIONS
 - SUMMARY_STAT_USER_FUNCTIONS
 - GLOBAL_STAT_USER_FUNCTIONS
 
 - Workload
 - Session/Thread
- SESSION_STAT
 - GLOBAL_SESSION_STAT
 - SESSION_TIME
 - GLOBAL_SESSION_TIME
 - SESSION_MEMORY
 - GLOBAL_SESSION_MEMORY
 - SESSION_MEMORY_DETAIL
 - GLOBAL_SESSION_MEMORY_DETAIL
 - SESSION_STAT_ACTIVITY
 - GLOBAL_SESSION_STAT_ACTIVITY
 - THREAD_WAIT_STATUS
 - GLOBAL_THREAD_WAIT_STATUS
 - LOCAL_THREADPOOL_STATUS
 - GLOBAL_THREADPOOL_STATUS
 - SESSION_CPU_RUNTIME
 - SESSION_MEMORY_RUNTIME
 - STATEMENT_IOSTAT_COMPLEX_RUNTIME
 - LOCAL_ACTIVE_SESSION
 
 - Transaction
 - Query
- STATEMENT
 - SUMMARY_STATEMENT
 - STATEMENT_COUNT
 - GLOBAL_STATEMENT_COUNT
 - SUMMARY_STATEMENT_COUNT
 - GLOBAL_STATEMENT_COMPLEX_HISTORY
 - GLOBAL_STATEMENT_COMPLEX_HISTORY_TABLE
 - GLOBAL_STATEMENT_COMPLEX_RUNTIME
 - STATEMENT_RESPONSETIME_PERCENTILE
 - STATEMENT_USER_COMPLEX_HISTORY
 - STATEMENT_COMPLEX_RUNTIME
 - STATEMENT_COMPLEX_HISTORY_TABLE
 - STATEMENT_COMPLEX_HISTORY
 - STATEMENT_WLMSTAT_COMPLEX_RUNTIME
 - STATEMENT_HISTORY
 
 - Cache/IO
- STATIO_USER_TABLES
 - SUMMARY_STATIO_USER_TABLES
 - GLOBAL_STATIO_USER_TABLES
 - STATIO_USER_INDEXES
 - SUMMARY_STATIO_USER_INDEXES
 - GLOBAL_STATIO_USER_INDEXES
 - STATIO_USER_SEQUENCES
 - SUMMARY_STATIO_USER_SEQUENCES
 - GLOBAL_STATIO_USER_SEQUENCES
 - STATIO_SYS_TABLES
 - SUMMARY_STATIO_SYS_TABLES
 - GLOBAL_STATIO_SYS_TABLES
 - STATIO_SYS_INDEXES
 - SUMMARY_STATIO_SYS_INDEXES
 - GLOBAL_STATIO_SYS_INDEXES
 - STATIO_SYS_SEQUENCES
 - SUMMARY_STATIO_SYS_SEQUENCES
 - GLOBAL_STATIO_SYS_SEQUENCES
 - STATIO_ALL_TABLES
 - SUMMARY_STATIO_ALL_TABLES
 - GLOBAL_STATIO_ALL_TABLES
 - STATIO_ALL_INDEXES
 - SUMMARY_STATIO_ALL_INDEXES
 - GLOBAL_STATIO_ALL_INDEXES
 - STATIO_ALL_SEQUENCES
 - SUMMARY_STATIO_ALL_SEQUENCES
 - GLOBAL_STATIO_ALL_SEQUENCES
 - GLOBAL_STAT_DB_CU
 - GLOBAL_STAT_SESSION_CU
 
 - Utility
- REPLICATION_STAT
 - GLOBAL_REPLICATION_STAT
 - REPLICATION_SLOTS
 - GLOBAL_REPLICATION_SLOTS
 - BGWRITER_STAT
 - GLOBAL_BGWRITER_STAT
 - GLOBAL_CKPT_STATUS
 - GLOBAL_DOUBLE_WRITE_STATUS
 - GLOBAL_PAGEWRITER_STATUS
 - GLOBAL_RECORD_RESET_TIME
 - GLOBAL_REDO_STATUS
 - GLOBAL_RECOVERY_STATUS
 - CLASS_VITAL_INFO
 - USER_LOGIN
 - SUMMARY_USER_LOGIN
 - GLOBAL_GET_BGWRITER_STATUS
 - GLOBAL_SINGLE_FLUSH_DW_STATUS
 - GLOBAL_CANDIDATE_STATUS
 
 - Lock
 - Wait Events
 - Configuration
 - Operator
 - Workload Manager
 - Global Plancache
 - RTO
 
 - DBE_PLDEBUGGER Schema
- 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.disable_breakpoint
 - DBE_PLDEBUGGER.enable_breakpoint
 - DBE_PLDEBUGGER.finish
 - DBE_PLDEBUGGER.set_var
 
 - DB4AI Schema
 - DBE_PLDEVELOPER
 
 - 工具参考
- 工具一览表
 - 客户端工具
 - 服务端工具
 - 系统内部使用的工具
- mogdb
 - gs_backup
 - gs_basebackup
 - gs_ctl
 - gs_initdb
 - gs_install
 - gs_install_plugin
 - gs_install_plugin_local
 - gs_preinstall
 - gs_sshexkey
 - gs_tar
 - gs_uninstall
 - gs_upgradectl
 - gs_expansion
 - gs_dropnode
 - gs_probackup
 - gstrace
 - kdb5_util
 - kadmin.local
 - kinit
 - klist
 - krb5kdc
 - kdestroy
 - pg_config
 - pg_controldata
 - pg_recvlogical
 - pg_resetxlog
 - pg_archivecleanup
 - pssh
 - pscp
 - transfer.py
 
 - 统一数据库管理工具
 - FAQ
 - MogDB可运行脚本功能说明
 - gs_collector工具支持收集的系统表和视图列表
 
 - 插件
 - 数据库报错信息
- SQL标准错误码说明
 - 第三方库错误码说明
 - GAUSS-00001 - GAUSS-00100
 - GAUSS-00101 - GAUSS-00200
 - GAUSS 00201 - GAUSS 00300
 - GAUSS 00301 - GAUSS 00400
 - GAUSS 00401 - GAUSS 00500
 - GAUSS 00501 - GAUSS 00600
 - GAUSS 00601 - GAUSS 00700
 - GAUSS 00701 - GAUSS 00800
 - GAUSS 00801 - GAUSS 00900
 - GAUSS 00901 - GAUSS 01000
 - GAUSS 01001 - GAUSS 01100
 - GAUSS 01101 - GAUSS 01200
 - GAUSS 01201 - GAUSS 01300
 - GAUSS 01301 - GAUSS 01400
 - GAUSS 01401 - GAUSS 01500
 - GAUSS 01501 - GAUSS 01600
 - GAUSS 01601 - GAUSS 01700
 - GAUSS 01701 - GAUSS 01800
 - GAUSS 01801 - GAUSS 01900
 - GAUSS 01901 - GAUSS 02000
 - GAUSS 02001 - GAUSS 02100
 - GAUSS 02101 - GAUSS 02200
 - GAUSS 02201 - GAUSS 02300
 - GAUSS 02301 - GAUSS 02400
 - GAUSS 02401 - GAUSS 02500
 - GAUSS 02501 - GAUSS 02600
 - GAUSS 02601 - GAUSS 02700
 - GAUSS 02701 - GAUSS 02800
 - GAUSS 02801 - GAUSS 02900
 - GAUSS 02901 - GAUSS 03000
 - GAUSS 03001 - GAUSS 03100
 - GAUSS 03101 - GAUSS 03200
 - GAUSS 03201 - GAUSS 03300
 - GAUSS 03301 - GAUSS 03400
 - GAUSS 03401 - GAUSS 03500
 - GAUSS 03501 - GAUSS 03600
 - GAUSS 03601 - GAUSS 03700
 - GAUSS 03701 - GAUSS 03800
 - GAUSS 03801 - GAUSS 03900
 - GAUSS 03901 - GAUSS 04000
 - GAUSS 04001 - GAUSS 04100
 - GAUSS 04101 - GAUSS 04200
 - GAUSS 04201 - GAUSS 04300
 - GAUSS 04301 - GAUSS 04400
 - GAUSS 04401 - GAUSS 04500
 - GAUSS 04501 - GAUSS 04600
 - GAUSS 04601 - GAUSS 04700
 - GAUSS 04701 - GAUSS 04800
 - GAUSS 04801 - GAUSS 04900
 - GAUSS 04901 - GAUSS 05000
 - GAUSS 05001 - GAUSS 05100
 - GAUSS 05101 - GAUSS 05200
 - GAUSS 05201 - GAUSS 05300
 - GAUSS 05301 - GAUSS 05400
 - GAUSS 05401 - GAUSS 05500
 - GAUSS 05501 - GAUSS 05600
 - GAUSS 05601 - GAUSS 05700
 - GAUSS 05701 - GAUSS 05800
 - GAUSS 05801 - GAUSS 05900
 - GAUSS 05901 - GAUSS 06000
 - GAUSS 06001 - GAUSS 06100
 - GAUSS 06101 - GAUSS 06200
 - GAUSS 06201 - GAUSS 06300
 - GAUSS 06301 - GAUSS 06400
 - GAUSS 06401 - GAUSS 06500
 - GAUSS 06501 - GAUSS 06600
 - GAUSS 06601 - GAUSS 06700
 - GAUSS 06701 - GAUSS 06800
 - GAUSS 06801 - GAUSS 06900
 - GAUSS 06901 - GAUSS 07000
 - GAUSS 07001 - GAUSS 07100
 - GAUSS 07101 - GAUSS 07200
 - GAUSS 07201 - GAUSS 07300
 - GAUSS 07301 - GAUSS 07400
 - GAUSS 07401 - GAUSS 07480
 - GAUSS 50000 - GAUSS 50999
 - GAUSS 51000 - GAUSS 51999
 - GAUSS 52000 - GAUSS 52999
 - GAUSS 53000 - GAUSS 53699
 
 - 错误日志信息参考
 
 - 系统表及系统视图
 - 故障诊断指南
- 常见故障定位手段
 - 常见故障定位案例
- core问题定位
 - 权限/会话/数据类型问题定位
 - 服务/高可用/并发问题定位
 - 表/分区表问题定位
 - 文件系统/磁盘/内存问题定位
 - SQL问题定位
 - 索引问题定位
 
 
 - 源码解析
 - 常见问题解答 (FAQs)
 - 术语表
 - Mogeaver
 
设置透明数据加密(TDE)
概述
透明数据加密(Transparent Data Encryption),是数据库在将数据写入存储介质时对数据进行加密,从存储介质中读取数据时自动解密,防止攻击者绕过数据库认证机制直接读取数据文件中的数据,以解决静态数据泄露问题。该功能对于应用层几乎透明无感知,用户可根据需要决定是否启用透明数据加密功能。
前提条件
- 需要由密钥管理服务KMS对数据加密密钥提供保护,数据库可以正常访问KMS服务。KMS服务可在华为云数据加密服务DEW申请开通。
 - 需要将GUC参数enable_tde设置为on,开启数据库透明数据加密开关。同时需正确设置数据库实例主密钥ID参数tde_cmk_id。
 
背景信息
当前版本主要实现对接华为云KMS服务,支持表级密钥存储,实现对行存表加密,规格约束如下:
- 支持heap存储行存表加密。
 - 不支持列存表加密,不支持物化视图加密,不支持ustore存储引擎加密。
 - 不支持索引和Sequence加密,不支持XLOG日志加密,不支持MOT内存表加密,不支持系统表加密。
 - 用户在创建表时可以指定加密算法,加密算法一旦指定不可更改。如果创建表时设置enable_tde为on,但是不指定加密算法encrypt_algo,则默认使用AES_128_CTR加密算法。
 - 如果在创建表时未开启加密功能或指定加密算法,后续无法再切换为加密表。
 - 对于已分配加密密钥的表,切换表的加密和非加密状态,不会更换密钥和加密算法。
 - 数据密钥轮转只有开启表加密功能时才支持轮转。
 - 不支持单数据库实例跨region的多副本主备同步,不支持单数据库实例跨region的扩容,不支持跨region的备份恢复、数据库实例容灾和数据迁移场景。
 - 混合云场景如果使用华为云KMS和管控面功能,则可以支持透明数据加密,其他KMS服务如果接口不兼容则无法支持。
 - 加密表的查询性能比不加密时会有所劣化,对于性能有较高要求的情况下需谨慎开启加密功能。
 
密钥管理机制
透明数据加密功能中数据的加密和解密都依赖于安全可靠的密钥管理机制。本功能采用三层密钥结构实现密钥管理机制,即根密钥(RK)、主密钥(CMK)和数据加密密钥(DEK)。主密钥由根密钥加密保护,数据加密密钥由主密钥加密保护。数据加密密钥用于对用户数据进行加密和解密,每个表对应一个数据加密密钥。根密钥和主密钥保存在KMS服务中,数据加密密钥通过向KMS服务申请创建,创建成功可同时返回密钥明文和密文。数据加密密钥明文在内存中会使用hash表进行缓存减少访问KMS频次以提升性能,密钥明文只存在内存中使用不会落盘,并且支持自动淘汰机制删除不常使用的密钥明文,只保存最近1天内使用的密钥明文。数据加密密钥密文保存在数据库中并落盘持久化。对用户表数据加解密时,如果内存中没有对应密钥明文则需向KMS申请对数据密钥解密后再使用。
表级加密方案
允许用户在创建表时指定是否对表进行加密和使用的加密算法,加密算法支持AES_128_CTR和SM4_CTR两种算法,算法一旦指定不可更改。对于创建表时指定为加密的表,数据库会自动为该表申请创建数据加密密钥,并将加密算法、密钥密文和对应主密钥ID等参数使用”keyword=value”格式保存在pg_class系统表中的reloptions字段中。
对于加密表,允许用户切换表的加密状态,即将加密表切换为非加密表,或将非加密表切换为加密表。如果在创建表时未使能加密功能,后续无法再切换为加密表。
对于加密表,支持数据加密密钥轮转。密钥轮转后,使用旧密钥加密的数据仍使用旧密钥解密,新写入的数据使用新密钥加密。密钥轮转时不更换加密算法。
对于行存表,每次加解密的最小数据单元为一个8K大小的page页面,每次对page页面加密时会通过安全随机数接口生成IV值,并将IV值和密钥密文、主密钥ID等信息保存在页面中一起写入存储介质。对于加密表由于page页面中需要保存加密密钥信息,相比不加密时占用存储空间膨胀约2.5%。
创建加密表
登录数据库,创建加密表tde_test1,加密状态为开启,指定加密算法为AES_128_CTR:
MogDB=# CREATE TABLE tde_test (a int, b text) with (enable_tde = on, encrypt_algo = 'AES_128_CTR');创建加密表tde_test2,加密状态为开启,不指定加密算法,则加密算法默认为AES_128_CTR:
MogDB=# CREATE TABLE tde_test2 (a int, b text) with (enable_tde = on);创建加密表tde_test3,加密状态为关闭,指定加密算法为SM4_CTR:
MogDB=# CREATE TABLE tde_test3 (a int, b text) with (enable_tde = off, encrypt_algo = 'SM4_CTR');切换加密表加密开关
登录数据库,将加密表tde_test1的加密开关置为off:
MogDB=# ALTER TABLE tde_test1 SET (enable_tde=off);将加密表tde_test1的加密开关置为on:
MogDB=# ALTER TABLE tde_test1 SET (enable_tde=on);对加密表进行密钥轮转
登录数据库,对加密表tde_test1进行密钥轮转:
MogDB=# ALTER TABLE tde_test1 ENCRYPTION KEY ROTATION;