- 关于MogDB
- 快速入门
- 特性描述
- 概览
- 高性能
- 高可用
- 维护性
- 兼容性
- 视图增加%rowtype属性
- 聚合函数distinct性能优化
- 聚合函数支持KEEP子句
- 聚合函数支持场景扩展
- 兼容支持MySQL别名支持单引号
- 支持current_date/current_time关键字作为字段名
- 自定义type数组
- For Update支持外连接
- MogDB支持Insert All特性
- Oracle DBLink语法兼容
- 创建PACKAGE/FUNCTION/PROCEDURE时去除TYPE类型转换提示
- 支持MERGE INTO命中索引时使用Bypass方法
- 支持增加存储过程及函数参数的nocopy属性
- 支持在数组extend的参数中传入数组的count属性
- 支持q quote转义字符
- 支持两个date类型的数据相减返回numeric类型
- 支持表函数table()
- 支持PROCEDURE/FUNCTION/PACKAGE的end后的name和Oracle保持一致
- 支持WHERE CURRENT OF写法
- 支持包内常量作为函数或者过程入参的默认值
- 支持PLPGSQL subtype
- 支持无参数FUNCTION的同义词调用不加括号
- 支持dbms_utility.format_error_backtrace
- 支持PIVOT和UNPIVOT语法
- mod函数兼容
- 支持聚集函数嵌套
- ORDER BY/GROUP BY场景兼容
- 支持在建表后修改表日志属性
- INSERT支持ON CONFLICT子句
- 支持AUTHID CURRENT_USER
- PBE模式支持存储过程out出参
- 数据库安全
- 企业级特性
- 应用开发接口
- AI能力
- 中间件
- 负载管理
- 安装指南
- 升级指南
- 管理指南
- 高可用指南
- AI特性指南
- 安全指南
- 开发者指南
- 应用程序开发教程
- 开发规范
- 基于JDBC开发
- JDBC包、驱动类和环境类
- 开发流程
- 加载驱动
- 连接数据库
- 连接数据库(以SSL方式)
- 连接数据库(UDS方式)
- 执行SQL语句
- 处理结果集
- 关闭连接
- 日志管理
- 示例:常用操作
- 示例:重新执行应用SQL
- 示例:通过本地文件导入导出数据
- 示例:从MY向MogDB进行数据迁移
- 示例:逻辑复制代码示例
- 示例:不同场景下连接数据库参数配置
- 示例: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
- JDBC常用参数参考
- JDBC发布记录
- 基于ODBC开发
- 基于libpq开发
- 基于Psycopg2开发
- 调试
- 存储过程
- 用户自定义函数
- PL/pgSQL-SQL过程语言
- 定时任务
- 自治事务
- 逻辑复制
- Extension
- MySQL兼容性说明
- Dolphin Extension
- Dolphin概述
- Dolphin安装
- Dolphin限制
- Dolphin语法介绍
- SQL参考
- 关键字
- 数据类型
- 函数和操作符
- 表达式
- DDL语法一览表
- DML语法一览表
- DCL语法一览表
- SQL语法
- ALTER DATABASE
- ALTER FUNCTION
- ALTER PROCEDURE
- ALTER SERVER
- ALTER TABLE
- ALTER TABLE PARTITION
- ALTER TABLESPACE
- ALTER VIEW
- ANALYZE | ANALYSE
- AST
- CHECKSUM TABLE
- CREATE DATABASE
- CREATE FUNCTION
- CREATE INDEX
- CREATE PROCEDURE
- CREATE SERVER
- CREATE TABLE
- CREATE TABLE AS
- CREATE TABLE PARTITION
- CREATE TABLESPACE
- CREATE TRIGGER
- CREATE VIEW
- DESCRIBE TABLE
- DO
- DROP DATABASE
- DROP INDEX
- DROP TABLESPACE
- EXECUTE
- EXPLAIN
- FLUSH BINARY LOGS
- GRANT
- GRANT/REVOKE PROXY
- INSERT
- KILL
- LOAD DATA
- OPTIMIZE TABLE
- PREPARE
- RENAME TABLE
- RENAME USER
- REVOKE
- SELECT
- SELECT HINT
- SET CHARSET
- SET PASSWORD
- SHOW CHARACTER SET
- SHOW COLLATION
- SHOW COLUMNS
- SHOW CREATE DATABASE
- SHOW CREATE FUNCTION
- SHOW CREATE PROCEDURE
- SHOW CREATE TABLE
- SHOW CREATE TRIGGER
- SHOW CREATE VIEW
- SHOW DATABASES
- SHOW FUNCTION STATUS
- SHOW GRANTS
- SHOW INDEX
- SHOW MASTER STATUS
- SHOW PLUGINS
- SHOW PRIVILEGES
- SHOW PROCEDURE STATUS
- SHOW PROCESSLIST
- SHOW SLAVE HOSTS
- SHOW STATUS
- SHOW TABLES
- SHOW TABLE STATUS
- SHOW TRIGGERS
- SHOW VARIABLES
- SHOW WARNINGS/ERRORS
- UPDATE
- USE db_name
- 系统视图
- GUC参数说明
- 重设参数
- 存储过程
- 标识符说明
- SQL参考
- MySQL语法兼容性评估工具
- Dolphin 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_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_EVENT_TRIGGER
- PG_EXTENSION
- PG_EXTENSION_DATA_SOURCE
- PG_FOREIGN_DATA_WRAPPER
- PG_FOREIGN_SERVER
- PG_FOREIGN_TABLE
- PG_HASHBUCKET
- PG_INDEX
- PG_INHERITS
- PG_JOB
- PG_JOB_PROC
- PG_LANGUAGE
- PG_LARGEOBJECT
- PG_LARGEOBJECT_METADATA
- PG_NAMESPACE
- PG_OBJECT
- PG_OPCLASS
- PG_OPERATOR
- PG_OPFAMILY
- PG_PARTITION
- PG_PLTEMPLATE
- PG_PROC
- PG_PUBLICATION
- PG_PUBLICATION_REL
- PG_RANGE
- PG_REPLICATION_ORIGIN
- PG_RESOURCE_POOL
- PG_REWRITE
- PG_RLSPOLICY
- PG_SECLABEL
- PG_SET
- PG_SHDEPEND
- PG_SHDESCRIPTION
- PG_SHSECLABEL
- PG_STATISTIC
- PG_STATISTIC_EXT
- PG_SUBSCRIPTION
- PG_SUBSCRIPTION_REL
- 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
- 系统视图
- GET_GLOBAL_PREPARED_XACTS(废弃)
- GS_ASYNC_SUBMIT_SESSIONS_STATUS
- GS_AUDITING
- GS_AUDITING_ACCESS
- GS_AUDITING_PRIVILEGE
- GS_CLUSTER_RESOURCE_INFO
- GS_COMPRESSION
- 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_SHARED_MEMORY_DETAIL
- 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
- IOS_STATUS
- 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
- PATCH_INFORMATION_TABLE
- 系统函数
- 逻辑操作符
- 比较操作符
- 字符处理函数和操作符
- 二进制字符串函数和操作符
- 位串函数和操作符
- 模式匹配操作符
- 数字操作函数和操作符
- 时间和日期处理函数和操作符
- 类型转换函数
- 几何函数和操作符
- 网络地址函数和操作符
- 文本检索函数和操作符
- JSON/JSONB函数和操作符
- HLL函数和操作符
- SEQUENCE函数
- 数组函数和操作符
- 范围函数和操作符
- 聚集函数
- 窗口函数(分析函数)
- 安全函数
- 账本数据库的函数
- 密态等值的函数
- 返回集合的函数
- 条件表达式函数
- 系统信息函数
- 系统管理函数
- 统计信息函数
- 触发器函数
- 事件触发器函数
- HashFunc函数
- 提示信息函数
- 全局临时表函数
- 故障注入系统函数
- AI特性函数
- 动态数据脱敏函数
- 其他系统函数
- 内部函数
- Global SysCache特性函数
- 数据损坏检测修复函数
- XML类型函数
- 废弃函数
- 支持的数据类型
- SQL语法
- ABORT
- ALTER AGGREGATE
- ALTER AUDIT POLICY
- ALTER DATABASE
- ALTER DATA SOURCE
- ALTER DEFAULT PRIVILEGES
- ALTER DIRECTORY
- ALTER EVENT
- ALTER EVENT TRIGGER
- ALTER EXTENSION
- ALTER FOREIGN DATA WRAPPER
- ALTER FOREIGN TABLE
- ALTER FUNCTION
- ALTER GLOBAL CONFIGURATION
- ALTER GROUP
- ALTER INDEX
- ALTER LANGUAGE
- ALTER LARGE OBJECT
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER OPERATOR
- ALTER 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 EVENT
- CREATE EVENT TRIGGER
- CREATE EXTENSION
- CREATE FOREIGN DATA WRAPPER
- 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 TABLESPACE
- CREATE TABLE SUBPARTITION
- CREATE TEXT SEARCH CONFIGURATION
- CREATE TEXT SEARCH DICTIONARY
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE USER MAPPING
- CREATE VIEW
- CREATE WEAK PASSWORD DICTIONARY
- CURSOR
- DEALLOCATE
- DECLARE
- DELETE
- DELIMITER
- DO
- DROP AGGREGATE
- DROP AUDIT POLICY
- DROP CAST
- DROP CLIENT MASTER KEY
- DROP COLUMN ENCRYPTION KEY
- DROP DATABASE
- DROP DATA SOURCE
- DROP DIRECTORY
- DROP EVENT
- DROP EVENT TRIGGER
- 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 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
- SHOW EVENTS
- SHRINK
- 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_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.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
- DBE_SQL_UTIL Schema
- 工具参考
- 工具一览表
- 客户端工具
- 服务端工具
- 系统内部使用的工具
- dsscmd
- dssserver
- mogdb
- gs_backup
- gs_basebackup
- gs_ctl
- gs_initdb
- gs_install
- gs_postuninstall
- 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 07500
- GAUSS 50000 - GAUSS 50999
- GAUSS 51000 - GAUSS 51999
- GAUSS 52000 - GAUSS 52999
- GAUSS 53000 - GAUSS 53699
- 错误日志信息参考
- 系统表及系统视图
- 故障诊断指南
- 源码解析
- 常见问题解答 (FAQs)
- 术语表
- 通信矩阵
- Mogeaver
元命令参考
介绍使用MogDB数据库命令行交互工具登录数据库后,gsql所提供的元命令。所谓元命令就是在gsql里输入的任何以不带引号的反斜杠开头的命令。
注意事项
- 一个gsql元命令的格式是反斜杠后面紧跟一个动词,然后是任意参数。参数命令动词和其他参数以任意个空白字符间隔。
- 要在参数里面包含空白,必须用单引号把它引起来。要在这样的参数里包含单引号,可以在前面加一个反斜杠。任何包含在单引号里的内容都会被进一步进行类似C语言的替换:\n(新行)、\t(制表符)、\b(退格)、\r(回车)、\f(换页)、\digits(八进制表示的字符)、\xdigits(十六进制表示的字符)。
- ”“包围的内容被当做一个命令行传入shell。该命令的输出(删除了结尾的新行)被当做参数值。
- 如果不带引号的参数以冒号(:)开头,它会被当做一个gsql变量,并且该变量的值最终会成为真正的参数值。
- 有些命令以一个SQL标识的名称(比如一个表)为参数。这些参数遵循SQL语法关于双引号的规则:不带双引号的标识强制转换成小写,而双引号保护字母不进行大小写转换,并且允许在标识符中使用空白。在双引号中,成对的双引号在结果名称中分析成一个双引号。比如,FOO”BAR”BAZ解析成fooBARbaz;而”A weird”“name”解析成“A weird”name。
- 对参数的分析在遇到另一个不带引号的反斜杠时停止。这里会认为是一个新的元命令的开始。特殊的双反斜杠序列(\)标识参数的结尾并将继续分析后面的SQL语句(如果存在)。这样SQL和gsql命令可以自由的在一行里面混合。但是在任何情况下,一条元命令的参数不能延续超过行尾。
元命令
元命令的详细说明请参见下表。
须知: 以下命令中所提到的FILE代表文件路径。此路径可以是绝对路径(如/home/gauss/file.txt),也可以是相对路径(file.txt,file.txt会默认在用户执行gsql命令所在的路径下创建)。
表 1 一般的元命令
参数 | 参数说明 | 取值范围 |
---|---|---|
\copyright | 显示MogDB的版本和版权信息。 | - |
\g [FILE] or ; | 执行查询(并将结果发送到文件或管道)。 | - |
\h(\help) [NAME] | 给出指定SQL语句的语法帮助。 | 如果没有给出NAME,gsql将列出可获得帮助的所有命令。如果NAME是一个星号(*),则显示所有SQL语句的语法帮助。 |
\parallel [on [num]|off] | 控制并发执行开关。 - on:打开控制并发执行开关,且最大并发数为num。 - off:关闭控制并发执行开关。 说明: - 不支持事务中开启并发执行以及并发中开启事务。 - 不支持\d这类元命令的并发。 - 并发select返回结果混乱问题,此为客户可接受,core、进程停止响应不可接受。 - 不推荐在并发中使用set语句,否则导致结果与预期不一致。 - 不支持创建临时表!如需使用临时表,需要在开启parallel之前创建好,并在parallel内部使用。parallel内部不允许创建临时表。 - \parallel执行时最多会启动num个独立的gsql进程连接服务器。 - \parallel中所有作业的持续时间不能超过session_timeout,否则可能会导致并发执行过程中断连。 - 在\parallel on 之后一条或多条命令,会等到\parallel off执行后才会执行,因而,每个\parallel on需对应一个\parallel off,否则会导致\parallel on之后的命令无法执行。 |
num的默认值:1024。 须知: - 服务器能接受的最大连接数受max_connection及当前已有连接数限制。 - 设置num时请考虑服务器当前可接受的实际连接数合理指定。 |
\q | 退出gsql程序。在一个脚本文件里,只在脚本终止的时候执行。 | - |
表 2 查询缓存区元命令
参数 | 参数说明 |
---|---|
\e [FILE] [LINE] | 使用外部编辑器编辑查询缓冲区(或者文件)。 |
\ef [FUNCNAME [LINE]] | 使用外部编辑器编辑函数定义。如果指定了LINE(即行号),则光标会指到函数体的指定行。 |
\p | 打印当前查询缓冲区到标准输出。 |
\r | 重置(或清空)查询缓冲区。 |
\w FILE | 将当前查询缓冲区输出到文件。 |
表 3 输入/输出元命令
参数 | 参数说明 |
---|---|
\copy { table [ ( column_list ) ] | ( query ) } { from | to } { filename | stdin | stdout | pstdin | pstdout } [ with ] [ binary ] [ oids ] [ delimiter [ as ] 'character' ] [ null [ as ] 'string' ] [ csv [ header ] [ quote [ as ] 'character' ] [ escape [ as ] 'character' ] [ force quote column_list | * ] [ force not null column_list ] ] [parallel integer] | 在任何psql客户端登录数据库成功后可以执行导入导出数据, 这是一个运行SQL COPY命令的操作,但不是读取或写入指定文件的服务器,而是读取或写入文件,并在服务器和本地文件系统之间路由数据。 这意味着文件的可访问性和权限是本地用户的权限,而不是服务器的权限,并且不需要数据库初始化用户权限。 说明: \COPY只适合小批量,格式良好的数据导入,不会对非法字符进行预处理,也无容错能力。导入数据应优先选择COPY。 \COPY 可以指定数据导入时的客户端数量,从而实现数据文件的并行导入,目前并发数范围为[1, 8]。 \COPY并行导入目前存在以下约束:临时表的并行导入不支持、在事务内的并行导入不支持、对二进制文件的并行导入不支持、数据导入支持AES128加密时不支持。在这些情况下,即使指定了parallel参数,仍然会走非并行流程。 |
\echo [STRING] | 把字符串写到标准输出。 |
\i FILE | 从文件FILE中读取内容,并将其当作输入,执行查询。 |
\i+ FILE KEY | 执行加密文件中的命令。 |
\ir FILE | 和\i类似,只是相对于存放当前脚本的路径。 |
\ir+ FILE KEY | 和\i+类似,只是相对于存放当前脚本的路径。 |
\o [FILE] | 把所有的查询结果发送到文件里。 |
\qecho [STRING] | 把字符串写到查询结果输出流里。 |
说明: 表4 显示信息元命令中的选项S表示显示系统对象,PATTERN表示显示对象附加的描述信息。用来指定要被显示的对象名称。
参数 | 参数说明 | 取值范围 | 示例 |
---|---|---|---|
\d[S+] | 列出当前search_path中模式下所有的表、视图和序列。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。 | - | 列出当前search_path中模式下所有的表、视图和序列。MogDB=# \d |
\d[S+] NAME | 列出指定表、视图和索引的结构。 | - | 假设存在表a,列出指定表a的结构。MogDB=# \dtable+ a |
\d+ [PATTERN] | 列出所有表、视图和索引。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表、视图和索引。 | 列出所有名称以f开头的表、视图和索引。MogDB=# \d+ f |
\da[S] [PATTERN] | 列出所有可用的聚集函数以及它们操作的数据类型和返回值类型。 | 如果声明了PATTERN,只显示名称匹配PATTERN的聚集函数。 | 列出所有名称以f开头可用的聚集函数以及它们操作的数据类型和返回值类型。MogDB=# \da f |
\db[+] [PATTERN] | 列出所有可用的表空间。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表空间。 | 列出所有名称以p开头的可用表空间。MogDB=# \db p* |
\dc[S+] [PATTERN] | 列出所有字符集之间的可用转换。 | 如果声明了PATTERN,只显示名称匹配PATTERN的转换。 | 列出所有字符集之间的可用转换。MogDB=# \dc |
\dC[+] [PATTERN] | 列出所有类型转换。 | 如果声明了PATTERN,只显示名称匹配PATTERN的转换。 | 列出所有名称以c开头的类型转换。MogDB=# \dC c |
\dd[S] [PATTERN] | 显示所有匹配PATTERN的描述。 | 如果没有给出参数,则显示所有可视对象。“对象”包括:聚集、函数、操作符、类型、关系(表、视图、索引、序列、大对象)、规则。 | 列出所有可视对象。MogDB=# \dd |
\ddp [PATTERN] | 显示所有默认的使用权限。 | 如果指定了PATTERN,只显示名称匹配PATTERN的使用权限。 | 列出所有默认的使用权限。MogDB=# \ddp |
\dD[S+] [PATTERN] | 列出所有可用域。 | 如果声明了PATTERN,只显示名称匹配PATTERN的域。 | 列出所有可用域。MogDB=# \dD |
\ded[+] [PATTERN] | 列出所有的Data Source对象。 | 如果声明了PATTERN,只显示名称匹配PATTERN的对象。 | 列出所有的Data Source对象。MogDB=# \ded |
\det[+] [PATTERN] | 列出所有的外部表。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表。 | 列出所有的外部表。MogDB=# \det |
\des[+] [PATTERN] | 列出所有的外部服务器。 | 如果声明了PATTERN,只显示名称匹配PATTERN的服务器。 | 列出所有的外部服务器。MogDB=# \des |
\deu[+] [PATTERN] | 列出用户映射信息。 | 如果声明了PATTERN,只显示名称匹配PATTERN的信息。 | 列出用户映射信息。MogDB=# \deu |
\dew[+] [PATTERN] | 列出封装的外部数据。 | 如果声明了PATTERN,只显示名称匹配PATTERN的数据。 | 列出封装的外部数据。MogDB=# \dew |
\df[antw][S+] [PATTERN] | 列出所有可用函数以及它们的参数和返回的数据类型。a代表聚集函数,n代表普通函数,t代表触发器,w代表窗口函数。 | 如果声明了PATTERN,只显示名称匹配PATTERN的函数。 | 列出所有可用函数以及它们的参数和返回的数据类型。MogDB=# \df |
\dF[+] [PATTERN] | 列出所有的文本搜索配置信息。 | 如果声明了PATTERN,只显示名称匹配PATTERN的配置信息。 | 列出所有的文本搜索配置信息。MogDB=# \dF+ |
\dFd[+] [PATTERN] | 列出所有的文本搜索字典。 | 如果声明了PATTERN,只显示名称匹配PATTERN的字典。 | 列出所有的文本搜索字典。MogDB=# \dFd |
\dFp[+] [PATTERN] | 列出所有的文本搜索分析器。 | 如果声明了PATTERN,只显示名称匹配PATTERN的分析器。 | 列出所有的文本搜索分析器。MogDB=# \dFp |
\dFt[+] [PATTERN] | 列出所有的文本搜索模板。 | 如果声明了PATTERN,只显示名称匹配PATTERN的模板。 | 列出所有的文本搜索模板。MogDB=# \dFt |
\dg[+] [PATTERN] | 列出所有数据库角色。 说明: 因为用户和群组的概念被统一为角色,所以这个命令等价于\du。为了和以前兼容,所以保留两个命令。 |
如果指定了PATTERN,只显示名称匹配PATTERN的角色。 | 列出名称为‘j_e’所有数据库角色。MogDB=# \dg j?e |
\dl | \lo_list的别名,显示一个大对象的列表。 | - | 列出所有的大对象。MogDB=# \dl |
\dL[S+] [PATTERN] | 列出可用的程序语言。 | 如果指定了PATTERN,只列出名称匹配PATTERN的语言。 | 列出可用的程序语言。MogDB=# \dL |
\dm | 列出物化视图。 | 如果指定了PATTERN,只列出名称匹配PATTERN的物化视图。 | 列出物化视图。MogDB=# \dm |
\dn[S+] [PATTERN] | 列出所有的模式(名称空间)。 | 如果声明了PATTERN,只列出名称匹配PATTERN的模式名。缺省时,只列出用户创建的模式。 | 列出所有名称以d开头的模式以及相关信息。MogDB=# \dn+ d* |
\do[S] [PATTERN] | 列出所有可用的操作符以及它们的操作数和返回的数据类型。 | 如果声明了PATTERN,只列出名称匹配PATTERN的操作符。缺省时,只列出用户创建的操作符。 | 列出所有可用的操作符以及它们的操作数和返回的数据类型。MogDB=# \do |
\dO[S+] [PATTERN] | 列出排序规则。 | 如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省时,只列出用户创建的规则。 | 列出排序规则。MogDB=# \dO |
\dp [PATTERN] | 列出一列可用的表、视图以及相关的权限信息。 \dp显示结果如下: rolename=xxxx/yyyy -赋予一个角色的权限 =xxxx/yyyy -赋予public的权限 xxxx表示赋予的权限,yyyy表示授予这个权限的角色。权限的参数说明请参见表5 权限的参数说明。 |
如果指定了PATTERN,只列出名称匹配PATTERN的表、视图。 | 列出一列可用的表、视图以及相关的权限信息。MogDB=# \dp |
\drds [PATTERN1 [PATTERN2]] | 列出所有修改过的配置参数。这些设置可以是针对角色的、针对数据库的或者同时针对两者的。PATTERN1和PATTERN2表示要列出的角色PATTERN和数据库PATTERN。 | 如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省或指定*时,则会列出所有设置。 | 列出mogdb数据库所有修改过的配置参数。MogDB=# \drds * mogdb |
\dT[S+] [PATTERN] | 列出所有的数据类型。 | 如果指定了PATTERN,只列出名称匹配PATTERN的类型。 | 列出所有的数据类型。MogDB=# \dT |
\du[+] [PATTERN] | 列出所有数据库角色。 说明: 因为用户和群组的概念被统一为角色,所以这个命令等价于\dg。为了和以前兼容,所以保留两个命令。 |
如果指定了PATTERN,则只列出名称匹配PATTERN的角色。 | 列出所有数据库角色。MogDB=# \du |
\dE[S+] [PATTERN]\di[S+] [PATTERN]\ds[S+] [PATTERN]\dt[S+] [PATTERN]\dv[S+] [PATTERN] | 这一组命令,字母E、i、s、t和v分别代表着外部表、索引、序列、表和视图。可以以任意顺序指定其中一个或者它们的组合来列出这些对象。例如:\dit列出所有的索引和表。在命令名称后面追加+,则每一个对象的物理尺寸以及相关的描述也会被列出。 | 如果指定了PATTERN,只列出名称匹配该PATTERN的对象。默认情况下只会显示用户创建的对象。通过PATTERN或者S修饰符可以把系统对象包括在内。 | 列出所有的索引和视图。MogDB=# \div |
\dx[+] [PATTERN] | 列出安装数据库的扩展信息。 | 如果指定了PATTERN,则只列出名称匹配PATTERN的扩展信息。 | 列出安装数据库的扩展信息。MogDB=# \dx |
\l[+] | 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。 | - | 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。MogDB=# \l |
\sf[+] FUNCNAME | 显示函数的定义。 说明: 对于带圆括号的函数名,需要在函数名两端添加双引号,并且在双引号后面加上参数类型列表。参数类型列表两端添加圆括号。 |
- | 假设存在函数function_a和函数名带圆括号的函数func()name,列出函数的定义。MogDB=# \sf function_a MogDB=# \sf “func()name”(argtype1, argtype2) |
\z [PATTERN] | 列出数据库中所有表、视图和序列以及它们相关的访问特权。 | 如果给出任何pattern ,则被当成一个正则表达式,只显示匹配的表、视图、序列。 | 列出数据库中所有表、视图和序列以及它们相关的访问特权。MogDB=# \z |
参数 | 参数说明 |
---|---|
r | SELECT:允许对指定的表、视图读取数据。 |
w | UPDATE:允许对指定表更新字段。 |
a | INSERT:允许对指定表插入数据。 |
d | DELETE:允许删除指定表中的数据。 |
D | TRUNCATE:允许清理指定表中的数据。 |
x | REFERENCES:允许创建外键约束。由于当前不支持外键,所以该参数暂不生效。 |
t | TRIGGER:允许在指定表上创建触发器。 |
X | EXECUTE:允许使用指定的函数以及利用这些函数实现的操作符。 |
U | USAGE: - 对于过程语言,允许用户在创建函数时,指定过程语言。 - 对于模式,允许访问包含在指定模式中的对象。 - 对于序列,允许使用nextval函数。 |
C | CREATE: - 对于数据库,允许在该数据库里创建新的模式。 - 对于模式,允许在该模式中创建新的对象。 - 对于表空间,允许在其中创建表以及允许创建数据库和模式的时候把该表空间指定为其缺省表空间。 |
c | CONNECT:允许用户连接到指定的数据库。 |
T | TEMPORARY:允许创建临时表。 |
A | ALTER:允许用户修改指定对象的属性。 |
P | DROP:允许用户删除指定的对象。 |
m | COMMENT:允许用户定义或修改指定对象的注释。 |
i | INDEX:允许用户在指定表上创建索引。 |
v | VACUUM:允许用户对指定的表执行ANALYZE和VACUUM操作。 |
* | 给前面权限的授权选项。 |
表 6 格式化元命令
参数 | 参数说明 |
---|---|
\a | 对齐模式和非对齐模式之间的切换。 |
\C [STRING] | 把正在打印的表的标题设置为一个查询的结果或者取消这样的设置。 |
\f [STRING] | 对于不对齐的查询输出,显示或者设置域分隔符。 |
\H | - 若当前模式为文本格式,则切换为HTML输出格式。 - 若当前模式为HTML格式,则切换回文本格式。 |
\pset NAME [VALUE] | 设置影响查询结果表输出的选项。NAME的取值见表7 可调节的打印选项。 |
\t [on|off] | 切换输出的字段名的信息和行计数脚注。 |
\T [STRING] | 指定在使用HTML输出格式时放在table标签里的属性。如果参数为空,不设置。 |
\x [on|off|auto] | 切换扩展行格式。 |
选项 | 选项说明 | 取值范围 |
---|---|---|
border | value必须是一个数字。通常这个数字越大,表的边界就越宽线就越多,但是这个取决于特定的格式。 | - 在HTML格式下,取值范围为大于0的整数。 - 在其他格式下,取值范围: - 0:无边框 - 1:内部分隔线 - 2:台架 |
expanded (或x) | 在正常和扩展格式之间切换。 | - 当打开扩展格式时,查询结果用两列显示,字段名称在左、数据在右。这个模式在数据无法放进通常的”水平”模式的屏幕时很有用。 - 在正常格式下,当查询输出的格式比屏幕宽时,用扩展格式。正常格式只对aligned和wrapped格式有用。 |
fieldsep | 声明域分隔符来实现非对齐输出。这样就可以创建其他程序希望的制表符或逗号分隔的输出。要设置制表符域分隔符,键入\pset fieldsep '\t'。缺省域分隔符是 '|' (竖条符)。 | - |
fieldsep_zero | 声明域分隔符来实现非对齐输出到零字节。 | - |
footer | 用来切换脚注。 | - |
format | 设置输出格式。允许使用唯一缩写(这意味着一个字母就够了)。 | 取值范围: - unaligned:写一行的所有列在一条直线上中,当前活动字段分隔符分隔。 - aligned:此格式是标准的,可读性最好的文本输出。 - wrapped:类似aligned,但是包装跨行的宽数据值,使其适应目标字段的宽度输出。 - html:把表输出为可用于文档里的对应标记语言。输出不是完整的文档。 - latex:把表输出为可用于文档里的对应标记语言。输出不是完整的文档。 - troff-ms:把表输出为可用于文档里的对应标记语言。输出不是完整的文档。 |
null | 打印一个字符串,用来代替一个null值。 | 缺省是什么都不打印,这样很容易和空字符串混淆。 |
numericlocale | 切换分隔小数点左边的数值的区域相关的分组符号。 | - on:显示指定的分隔符。 - off:不显示分隔符。 忽略此参数,显示默认的分隔符。 |
pager | 控制查询和gsql帮助输出的分页器。如果设置了环境变量PAGER,输出将被指向到指定程序,否则使用系统缺省。 | - on:当输出到终端且不适合屏幕显示时,使用分页器。 - off:不使用分页器。 - always:当输出到终端无论是否符合屏幕显示时,都使用分页器。 |
recordsep | 声明在非对齐输出格式时的记录分隔符。 | - |
recordsep_zero | 声明在非对齐输出到零字节时的记录分隔符。 | - |
tableattr(或T) | 声明放在html输出格式中HTML table标签的属性(例如:cellpadding或bgcolor)。注意:这里可能不需要声明border,因为已经在\pset border里用过了。如果没有给出value,则不设置表的属性。 | - |
title | 为随后打印的表设置标题。这个可以用于给输出一个描述性标签。如果没有给出value,不设置标题。 | - |
tuples_only (或者t) | 在完全显示和只显示实际的表数据之间切换。完全显示将输出像列头、标题、各种脚注等信息。在tuples_only模式下,只显示实际的表数据。 | - |
feedback | 切换是否输出结果行数。 | - |
表 8 连接元命令
参数 | 参数说明 | 取值范围 |
---|---|---|
\c[onnect] [DBNAME|- USER|- HOST|- PORT|-] | 连接到一个新的数据库(当前数据库为mogdb)。当数据库名称长度超过63个字节时,默认前63个字节有效,连接到前63个字节对应的数据库,但是gsql的命令提示符中显示的数据库对象名仍为截断前的名称。 说明: 重新建立连接时,如果切换数据库登录用户,将可能会出现交互式输入,要求输入新用户的连接密码。该密码最长长度为999字节,受限于GUC参数password_max_length的最大值。 |
- |
\encoding [ENCODING] | 设置客户端字符编码格式。 | 不带参数时,显示当前的编码格式。 |
\conninfo | 输出当前连接的数据库的信息。 | - |
表 9 操作系统元命令
参数 | 参数说明 | 取值范围 |
---|---|---|
\cd [DIR] | 切换当前的工作目录。 | 绝对路径或相对路径,且满足操作系统路径命名规则。 |
\setenv NAME [VALUE] | 设置环境变量NAME为VALUE,如果没有给出VALUE值,则不设置环境变量。 | - |
\timing [on|off] | 以毫秒为单位显示每条SQL语句的执行时间(不包括屏显打印时间)。 | - on表示打开显示。 - off表示关闭显示。 |
! [COMMAND] | 返回到一个单独的Unix shell或者执行Unix命令COMMAND。 | - |
表 10 变量元命令
参数 | 参数说明 |
---|---|
\prompt [TEXT] NAME | 提示用户用文本格式来指定变量名称。 |
\set [NAME [VALUE]] | 设置内部变量NAME为VALUE或者如果给出了多于一个值,设置为所有这些值的连接结果。如果没有给出第二个参数,只设变量不设值。 有一些常用变量被gsql特殊对待,它们是一些选项设置,通常所有特殊对待的变量都是由大写字母组成(可能还有数字和下划线)。 表21是一个所有特殊对待的变量列表。 |
\unset NAME | 不设置(或删除)gsql变量名。 |
名称 | 命令说明 | 取值范围 |
---|---|---|
\set VERBOSITY value | 这个选项可以设置为值default, verbose,terse之一以控制错误报告的冗余行。 | value取值范围: default, verbose,terse |
\set ON_ERROR_STOP value | 如果设置了这个变量,脚本处理将马上停止。如果该脚本是从另外一个脚本调用的,那个脚本也会按同样的方式停止。如果最外层的脚本不是从一次交互的gsql会话中调用的而是用-f选项调用的,gsql将返回错误代码3,以示这个情况与致命错误条件的区别(错误代码为1)。 | value取值范围为:on/off,true/false,yes/no,1/0 |
\set RETRY [retry_times] | 用于控制是否开启语句出错场景下的重试功能,参数retry_times用来指定最大重试次数,缺省值为5,取值范围为5-10。当重试功能已经开启时,再次执行\set RETRY可以关闭该功能。 使用配置文件retry_errcodes.conf列举需要重试的错误码列表,该文件和gsql可执行程序位于同一级目录下。该配置文件为系统配置,非用户定义,不允许用户直接修改。 当前支持以下出错场景的重试: - YY001:TCP通信错误,Connection reset by peer - YY002:TCP通信错误,Connection reset by peer - YY003:锁超时,Lock wait timeout…/wait transaction xxx sync time exceed xxx - YY004:TCP通信错误,Connection timed out - YY005:SET命令发送失败,ERROR SET query - YY006:内存申请失败,memory is temporarily unavailable - YY007:通信库错误,Memory allocate error - YY008:通信库错误,No data in buffer - YY009:通信库错误,Close because release memory - YY010:通信库错误,TCP disconnect - YY011:通信库错误,SCTP disconnect - YY012:通信库错误,Stream closed by remote - YY013:通信库错误,Wait poll unknown error - YY014,YY015,53200,08006,08000,57P01,XX003,XX009等 同时,出错时gsql会查询数据库节点的连接状态,当状态异常时会sleep 1分钟再进行重试,能够覆盖大部分主备切换场景下的出错重试。 说明: 1. 不支持事务块中的语句错误重试; 2. 不支持通过ODBC、JDBC接口查询的出错重试; 3. 含有unlogged表的sql语句,不支持节点故障后的出错重试; 4. gsql客户端本身出现的错误,不在重跑考虑范围之内; |
retry_times取值范围为:5-10 |
表 12 大对象元命令
参数 | 参数说明 |
---|---|
\lo_list | 显示一个目前存储在该数据库里的所有MogDB大对象和提供给他们的注释。 |
PATTERN
很多\d命令都可以用一个PATTERN参数来指定要被显示的对象名称。在最简单的情况下,PATTERN正好就是该对象的准确名称。在PATTERN中的字符通常会被变成小写形式(就像在SQL名称中那样),例如\dt FOO将会显示名为foo的表。就像在SQL名称中那样,把PATTERN放在双引号中可以阻止它被转换成小写形式。如果需要在一个PATTERN中包括一个真正的双引号字符,则需要把它写成两个相邻的双引号,这同样是符合SQL引用标识符的规则。例如,\dt “FOO”“BAR”将显示名为FOO”BAR(不是foo”bar)的表。和普通的SQL名称规则不同,不能只在PATTERN的一部分周围放上双引号,例如\dt FOO”FOO”BAR将会显示名为fooFOObar的表。
不使用PATTERN参数时,\d命令会显示当前schema搜索路径中可见的全部对象.这等价于用*作为PATTERN。所谓对象可见是指可以直接用名称引用该对象,而不需要用schema来进行限定。要查看数据库中所有的对象而不管它们的可见性,可以把*.*用作PATTERN。
如果放在一个PATTERN中,*将匹配任意字符序列(包括空序列),而?会匹配任意的单个字符(这种记号方法就像 Unix shell 的文件名PATTERN一样)。例如,\dt int*会显示名称以int开始的表。但是如果被放在双引号内,*和?就会失去这些特殊含义而变成普通的字符。
包含一个点号(.)的PATTERN被解释为一个schema名称模式后面跟上一个对象名称模式。例如,\dt foo*.*bar会显示名称以foo开始的schema中所有名称包括bar的表。如果没有出现点号,那么模式将只匹配当前schema搜索路径中可见的对象。同样,双引号内的点号会失去其特殊含义并且变成普通的字符。
高级用户可以使用字符类等正则表达式记法,如[0-9]可以匹配任意数字。所有的正则表达式特殊字符都按照POSIX正则表达式所说的工作。以下字符除外:
- .会按照上面所说的作为一种分隔符。
- *会被翻译成正则表达式记号.*。
- ?会被翻译成.。
- $则按字面意思匹配。
根据需要,可以通过书写?, (R+|
), (R|
)和R?
来分别模拟PATTERN字符. R*
和R?
。$
不需要作为一个正则表达式字符,因为PATTERN必须匹配整个名称,而不是像正则表达式的常规用法那样解释(换句话说,$会被自动地追加到PATTERN上)。如果不希望该PATTERN的匹配位置被固定,可以在开头或者结尾写上*。注意在双引号内,所有的正则表达式特殊字符会失去其特殊含义并且按照其字面意思进行匹配。另外,在操作符名称PATTERN中(即\do的PATTERN参数),正则表达式特殊字符也按照字面意思进行匹配。
DELIMITER
更改SQL语句之间分隔符命令,分隔符默认值为“;”。
DELIMITER命令为为客户端设置一个分隔符。当用户设置分隔符后,gsql客户端识别到分隔符时,会立即将SQL语句发送到服务端执行,但是服务端仍然将“;”看做SQL语句分隔符,并相应的处理SQL语句。
注意事项:
- delimiter符号目前不是自由设定的,结束符范围有限制,目前接受大小写字母组合或特殊字符组合(~/!/@/#/^/&/`/?/+/-/*//(除号)/%/</>/=),其中常见的用法是”//"。
- 符号组合中尽量使用无歧义符号组合,特殊符号组合(注释符:”*"、”–“等)目前不支持用于delimiter命名。
- delimiter长度范围:0~15。
- 设置的结束符的级别是会话级别的,当切换数据库时delimiter_name会设置为默认值‘;’。
- 用户如果想使用其他字符组合例如"adbc $$",可以使用引号包含,例如delimiter “adbc $$",但使用时也需要使用引号包含,例如:select 1"adbc $$"。
- delimiter分隔符只有sql_compatibility = 'B'时支持。