华为云用户手册

  • Wait Classes by Total Wait Time Wait Classes by Total Wait Time列名称及描述如表1 Wait Classes by Total Wait Time报表主要内容所示。 表1 Wait Classes by Total Wait Time报表主要内容 列名称 描述 Type Wait Event类别名称: STATUS。 LWLOCK_EVENT。 LOCK_EVENT。 IO_EVENT。 Waits Wait次数。 Total Wait Time(us) 总Wait时间(微秒)。 Avg Wait Time(us) 平均Wait时间(微秒)。 父主题: WDR报告信息介绍
  • 创建、修改和删除用户 创建用户,请使用SQL语句CREATE USER。 例如:创建用户joe,并设置用户拥有CREATEDB属性。 1 2 gaussdb=# CREATE USER joe WITH CREATEDB PASSWORD "********"; CREATE ROLE 创建系统管理员,请使用带有SYSADMIN选项的CREATE USER语句。 删除现有用户,请参见DROP USER。 更改用户账户(例如,重命名用户或更改密码),请参见ALTER USER。 查看用户列表,请查询视图GS_USER。 1 gaussdb=# SELECT * FROM gs_user; 查看用户属性,请查询系统表PG_AUTHID。 1 gaussdb=# SELECT * FROM pg_authid;
  • 永久用户 GaussDB 提供永久用户方案:创建具有PERSISTENCE属性的永久用户,具有PERSISTENCE属性的用户能够使用service_reserved_connections通道连接数据库。 1 gaussdb=# CREATE USER user_persistence WITH PERSISTENCE IDENTIFIED BY "********"; 只允许初始用户创建、修改和删除具有PERSISTENCE属性的永久用户。
  • 示例 byteawithoutorderwithequalcolin、byteawithoutorderwithequalcolout等密态等值函数为数据库内核中数据类型byteawithoutorderwithequalcol指定的in、out、send、recv等读写格式转换函数,具体可参考bytea类型的byteain、byteaout等函数,但会对本地的cek进行验证,需要密文字段中有本地存在的cekoid才能执行成功。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -- 例如存在加密表int_type,int_col2为其加密列。 -- 使用非密态客户端连接数据库,查询加密列密文。 gaussdb=# SELECT int_col2 FROM int_type; int_col2 ------------------------------------------------------------------------------------------------------------------------------------------------------ \x01c35301bf421c8edf38c34704bcc82838742917778ccb402a1b7452ad4a6ac7371acc0ac33100000035fe3424919854c86194f1aa5bb4e1ca656e8fc6d05324a1419b69f488bdc3c6 (1 row) -- 将加密列密文当做byteawithoutorderwithequalcolin入参,格式从cstring输入转码转化成内部byteawithoutorderwithequalcol形式。 gaussdb=# SELECT byteawithoutorderwithequalcolin('\x01c35301bf421c8edf38c34704bcc82838742917778ccb402a1b7452ad4a6ac7371acc0ac33100000035fe3424919854c86194f1aa5bb4e1ca656e8fc6d05324a1419b69f488bdc3c6'); byteawithoutorderwithequalcolin ------------------------------------------------------------------------------------------------------------------------------------------------------ \x01c35301bf421c8edf38c34704bcc82838742917778ccb402a1b7452ad4a6ac7371acc0ac33100000035fe3424919854c86194f1aa5bb4e1ca656e8fc6d05324a1419b69f488bdc3c6 (1 row) 由于byteawithoutorderwithequalcolin等的实现会对cek进行查找,并且判断是否为正常加密后的数据类型。 因此如果用户输入数据的格式不是加密后的数据格式,并且在本地不存在对应cek的情况下,会返回错误。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 gaussdb=# SELECT * FROM byteawithoutorderwithequalcolsend('\x907219912381298461289346129'::byteawithoutorderwithequalcol); ERROR: cek with OID 596711794 not found LINE 1: SELECT * FROM byteawithoutorderwithequalcolsend('\x907219912... ^ gaussdb=# SELECT * FROM byteawithoutordercolout('\x90721901999999999999912381298461289346129'); ERROR: cek with OID 2566986098 not found LINE 1: SELECT * FROM byteawithoutordercolout('\x9072190199999999999... gaussdb=# SELECT * FROM byteawithoutorderwithequalcolrecv('\x90721901999999999999912381298461289346129'::byteawithoutorderwithequalcol); ERROR: cek with OID 2566986098 not found ^ gaussdb=# SELECT * FROM byteawithoutorderwithequalcolsend('\x90721901999999999999912381298461289346129'::byteawithoutorderwithequalcol); ERROR: cek with OID 2566986098 not found LINE 1: SELECT * FROM byteawithoutorderwithequalcolsend('\x907219019... ^
  • PG_STAT_SYS_TABLES PG_STAT_SYS_TABLES视图显示pg_catalog、information_schema模式的所有命名空间中系统表的统计信息。 表1 PG_STAT_SYS_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 该表的模式名。 relname name 表名。 seq_scan bigint 该表发起的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的活跃行数。 idx_scan bigint 该表发起的索引扫描数。 idx_tup_fetch bigint 索引扫描抓取的活跃行数。 n_tup_ins bigint 插入行数。 n_tup_upd bigint 更新行数。 n_tup_del bigint 删除行数。 n_tup_hot_upd bigint HOT更新行数(比如没有更新所需的单独索引)。 n_live_tup bigint 估计活跃行数。 n_dead_tup bigint 估计不活跃行数。在Ustore表中仅代表不活跃行指针数量。 last_vacuum timestamp with time zone 上次手动清理该表的时间(不计算VACUUM FULL)。 last_autovacuum timestamp with time zone 上次被autovacuum守护线程清理的时间。 last_analyze timestamp with time zone 上次手动分析这个表的时间。 last_autoanalyze timestamp with time zone 上次被autovacuum守护线程分析的时间。 vacuum_count bigint 这个表被手动清理的次数(不计算VACUUM FULL)。 autovacuum_count bigint 这个表被autovacuum守护线程清理的次数。 analyze_count bigint 这个表被手动分析的次数。 autoanalyze_count bigint 这个表被autovacuum守护线程分析的次数。 last_data_changed timestamp with time zone 这个表数据最近修改时间。 父主题: 其他系统视图
  • 功能描述 SET CONSTRAINTS设置当前事务检查行为的约束条件。 IMMEDIATE约束是在每条语句后面进行检查。DEFERRED约束一直到事务提交时才检查。每个约束都有自己的模式。 从创建约束条件开始,一个约束总是设定为DEFERRABLE INITIALLY DEFERRED、DEFERRABLE INITIALLY IMMEDIATE和NOT DEFERRABLE三个特性之一。第三种总是IMMEDIATE,并且不会受SET CONSTRAINTS影响。前两种以指定的方式启动每个事务,但是其行为可以在事务里用SET CONSTRAINTS改变。 带着一个约束名列表的SET CONSTRAINTS改变这些约束的模式(都必须是可推迟的)。如果有多个约束匹配某个名称,则所有都会被影响。SET CONSTRAINTS ALL改变所有可推迟约束的模式。 当SET CONSTRAINTS把一个约束从DEFERRED改成IMMEDIATE的时候,任何将在事务结束准备进行的数据修改都将在SET CONSTRAINTS的时候执行检查。如果违反了任何约束,SET CONSTRAINTS都会失败(并且不会修改约束模式)。因此,SET CONSTRAINTS可以用于强制在事务中某一点进行约束检查。检查和唯一约束总是不可推迟的。
  • java.sql.DatabaseMetaData java.sql.DatabaseMetaData是数据库对象定义接口。 表1 对java.sql.DatabaseMetaData的支持情况 方法名 返回值类型 支持JDBC4 支持计划外ALT allProceduresAreCallable() boolean Yes Yes allTablesAreSelectable() boolean Yes Yes autoCommitFailureClosesAllResultSets() boolean Yes Yes dataDefinitionCausesTransactionCommit() boolean Yes Yes dataDefinitionIgnoredInTransactions() boolean Yes Yes deletesAreDetected(int type) boolean Yes Yes doesMaxRowSizeIncludeBlobs() boolean Yes Yes generatedKeyAlwaysReturned() boolean Yes Yes getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) ResultSet Yes Yes getCatalogs() ResultSet Yes Yes getCatalogSeparator() String Yes Yes getCatalogTerm() String Yes Yes getClientInfoProperties() ResultSet Yes Yes getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) ResultSet Yes Yes getConnection() Connection Yes Yes getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable) ResultSet Yes Yes getDefaultTransactionIsolation() int Yes Yes getExportedKeys(String catalog, String schema, String table) ResultSet Yes Yes getExtraNameCharacters() String Yes Yes getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) ResultSet Yes Yes getFunctions(String catalog, String schemaPattern, String functionNamePattern) ResultSet Yes Yes getIdentifierQuoteString() String Yes Yes getImportedKeys(String catalog, String schema, String table) ResultSet Yes Yes getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) ResultSet Yes Yes getMaxBinaryLiteralLength() int Yes Yes getMaxCatalogNameLength() int Yes Yes getMaxCharLiteralLength() int Yes Yes getMaxColumnNameLength() int Yes Yes getMaxColumnsInGroupBy() int Yes Yes getMaxColumnsInIndex() int Yes Yes getMaxColumnsInOrderBy() int Yes Yes getMaxColumnsInSelect() int Yes Yes getMaxColumnsInTable() int Yes Yes getMaxConnections() int Yes Yes getMaxCursorNameLength() int Yes Yes getMaxIndexLength() int Yes Yes getMaxLogicalLobSize() default long Yes Yes getMaxProcedureNameLength() int Yes Yes getMaxRowSize() int Yes Yes getMaxSchemaNameLength() int Yes Yes getMaxStatementLength() int Yes Yes getMaxStatements() int Yes Yes getMaxTableNameLength() int Yes Yes getMaxTablesInSelect() int Yes Yes getMaxUserNameLength() int Yes Yes getNumericFunctions() String Yes Yes getPrimaryKeys(String catalog, String schema, String table) ResultSet Yes Yes getPartitionTablePrimaryKeys(String catalog, String schema, String table) ResultSet Yes Yes getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) ResultSet Yes Yes getProcedures(String catalog, String schemaPattern, String procedureNamePattern) ResultSet Yes Yes getProcedureTerm() String Yes Yes getSchemas() ResultSet Yes Yes getSchemas(String catalog, String schemaPattern) ResultSet Yes Yes getSchemaTerm() String Yes Yes getSearchStringEscape() String Yes Yes getSQLKeywords() String Yes Yes getSQLStateType() int Yes Yes getStringFunctions() String Yes Yes getSystemFunctions() String Yes Yes getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) ResultSet Yes Yes getTimeDateFunctions() String Yes Yes getTypeInfo() ResultSet Yes Yes getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) ResultSet Yes Yes getURL() String Yes Yes getVersionColumns(String catalog, String schema, String table) ResultSet Yes Yes insertsAreDetected(int type) boolean Yes Yes locatorsUpdateCopy() boolean Yes Yes othersDeletesAreVisible(int type) boolean Yes Yes othersInsertsAreVisible(int type) boolean Yes Yes othersUpdatesAreVisible(int type) boolean Yes Yes ownDeletesAreVisible(int type) boolean Yes Yes ownInsertsAreVisible(int type) boolean Yes Yes ownUpdatesAreVisible(int type) boolean Yes Yes storesLowerCaseIdentifiers() boolean Yes Yes storesMixedCaseIdentifiers() boolean Yes Yes storesUpperCaseIdentifiers() boolean Yes Yes supportsBatchUpdates() boolean Yes Yes supportsCatalogsInDataManipulation() boolean Yes Yes supportsCatalogsInIndexDefinitions() boolean Yes Yes supportsCatalogsInPrivilegeDefinitions() boolean Yes Yes supportsCatalogsInProcedureCalls() boolean Yes Yes supportsCatalogsInTableDefinitions() boolean Yes Yes supportsCorrelatedSubqueries() boolean Yes Yes supportsDataDefinitionAndDataManipulationTransactions() boolean Yes Yes supportsDataManipulationTransactionsOnly() boolean Yes Yes supportsGetGeneratedKeys() boolean Yes Yes supportsMixedCaseIdentifiers() boolean Yes Yes supportsMultipleOpenResults() boolean Yes Yes supportsNamedParameters() boolean Yes Yes supportsOpenCursorsAcrossCommit() boolean Yes Yes supportsOpenCursorsAcrossRollback() boolean Yes Yes supportsOpenStatementsAcrossCommit() boolean Yes Yes supportsOpenStatementsAcrossRollback() boolean Yes Yes supportsPositionedDelete() boolean Yes Yes supportsPositionedUpdate() boolean Yes Yes supportsRefCursors() boolean Yes Yes supportsResultSetConcurrency(int type, int concurrency) boolean Yes Yes supportsResultSetType(int type) boolean Yes Yes supportsSchemasInIndexDefinitions() boolean Yes Yes supportsSchemasInPrivilegeDefinitions() boolean Yes Yes supportsSchemasInProcedureCalls() boolean Yes Yes supportsSchemasInTableDefinitions() boolean Yes Yes supportsSelectForUpdate() boolean Yes Yes supportsStatementPooling() boolean Yes Yes supportsStoredFunctionsUsingCallSyntax() boolean Yes Yes supportsStoredProcedures() boolean Yes Yes supportsSubqueriesInComparisons() boolean Yes Yes supportsSubqueriesInExists() boolean Yes Yes supportsSubqueriesInIns() boolean Yes Yes supportsSubqueriesInQuantifieds() boolean Yes Yes supportsTransactionIsolationLevel(int level) boolean Yes Yes supportsTransactions() boolean Yes Yes supportsUnion() boolean Yes Yes supportsUnionAll() boolean Yes Yes updatesAreDetected(int type) boolean Yes Yes getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) ResultSet Yes Yes getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) ResultSet Yes Yes getTableTypes() ResultSet Yes Yes getUserName() String Yes Yes isReadOnly() boolean Yes Yes nullsAreSortedHigh() boolean Yes Yes nullsAreSortedLow() boolean Yes Yes nullsAreSortedAtStart() boolean Yes Yes nullsAreSortedAtEnd() boolean Yes Yes getDatabaseProductName() String Yes Yes getDatabaseProductVersion() String Yes Yes getDriverName() String Yes Yes getDriverVersion() String Yes Yes getDriverMajorVersion() int Yes Yes getDriverMinorVersion() int Yes Yes usesLocalFiles() boolean Yes Yes usesLocalFilePerTable() boolean Yes Yes supportsMixedCaseIdentifiers() boolean Yes Yes storesUpperCaseIdentifiers() boolean Yes Yes storesLowerCaseIdentifiers() boolean Yes Yes supportsMixedCaseQuotedIdentifiers() boolean Yes Yes storesUpperCaseQuotedIdentifiers() boolean Yes Yes storesLowerCaseQuotedIdentifiers() boolean Yes Yes storesMixedCaseQuotedIdentifiers() boolean Yes Yes supportsAlterTableWithAddColumn() boolean Yes Yes supportsAlterTableWithDropColumn() boolean Yes Yes supportsColumnAliasing() boolean Yes Yes nullPlusNonNullIsNull() boolean Yes Yes supportsConvert() boolean Yes Yes supportsConvert(int fromType, int toType) boolean Yes Yes supportsTableCorrelationNames() boolean Yes Yes supportsDifferentTableCorrelationNames() boolean Yes Yes supportsExpressionsInOrderBy() boolean Yes Yes supportsOrderByUnrelated() boolean Yes Yes supportsGroupBy() boolean Yes Yes supportsGroupByUnrelated() boolean Yes Yes supportsGroupByBeyondSelect() boolean Yes Yes supportsLikeEscapeClause() boolean Yes Yes supportsMultipleResultSets() boolean Yes Yes supportsMultipleTransactions() boolean Yes Yes supportsNonNullableColumns() boolean Yes Yes supportsMinimumSQLGrammar() boolean Yes Yes supportsCoreSQLGrammar() boolean Yes Yes supportsExtendedSQLGrammar() boolean Yes Yes supportsANSI92EntryLevelSQL() boolean Yes Yes supportsANSI92IntermediateSQL() boolean Yes Yes supportsANSI92FullSQL() boolean Yes Yes supportsIntegrityEnhancementFacility() boolean Yes Yes supportsOuterJoins() boolean Yes Yes supportsFullOuterJoins() boolean Yes Yes supportsLimitedOuterJoins() boolean Yes Yes isCatalogAtStart() boolean Yes Yes supportsSchemasInDataManipulation() boolean Yes Yes supportsSavepoints() boolean Yes Yes supportsResultSetHoldability(int holdability) boolean Yes Yes getResultSetHoldability() int Yes Yes getDatabaseMajorVersion() int Yes Yes getDatabaseMinorVersion() int Yes Yes getJDBCMajorVersion() int Yes Yes getJDBCMinorVersion() int Yes Yes uppercaseAttributeName为true时,以下方法会将查询结果转为大写,可转换范围与java中的toUpperCase方法一致。 public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) public ResultSet getSchemas(String catalog, String schemaPattern) public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) public ResultSet getPrimaryKeys(String catalog, String schema, String table) protected ResultSet getImportedExportedKeys(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) public ResultSet getIndexInfo(String catalog, String schema, String tableName, boolean unique, boolean approximate) public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) getPartitionTablePrimaryKeys(String catalog, String schema, String table)方法用于获取分区表含全局索引的主键列,使用示例如下: PgDatabaseMetaData dbmd = (PgDatabaseMetaData)conn.getMetaData(); dbmd.getPartitionTablePrimaryKeys("catalogName", "schemaName", "tableName"); 父主题: JDBC接口参考
  • ADM_USERS ADM_USERS视图显示所有数据库用户的信息。默认只有系统管理员权限可以访问。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 ADM_USERS字段 名称 类型 描述 username character varying(128) 用户名称。 user_id oid 用户ID。 account_status character varying(32) 账户状态。 NULL:该账户是拥有最高权限的初始系统管理员。 0:正常状态。 1:由于登录失败次数超过阈值被锁定了一定的时间。 2:被管理员锁定。 lock_date timestamp with time zone 默认显示账户的创建日期,如果账户被管理员锁定,或者登录失败次数超过阈值被锁定,则显示账户被锁定的日期。初始系统管理员该字段为NULL。 expiry_date timestamp with time zone 账户的到期日期。 default_tablespace character varying(4000) 数据的默认表空间。 temporary_tablespace character varying(4000) 临时表的默认表空间名称或表空间组的名称。 local_temp_tablespace character varying(30) 暂不支持,默认值为NULL。 created timestamp with time zone 用户创建日期。 profile character varying(128) 暂不支持,默认值为NULL。 initial_rsrc_consumer_group character varying(128) 暂不支持,默认值为NULL。 external_name character varying(4000) 暂不支持,默认值为NULL。 password_versions character varying(12) 显示账户密码的加密方式,取值为MD5、SHA256或SM3。 editions_enabled character varying(1) 暂不支持,默认值为NULL。 authentication_type text 指示用户的身份验证机制。 proxy_only_connect character varying(1) 暂不支持,默认值为NULL。 common character varying(3) 暂不支持,默认值为NULL。 last_login timestamp with time zone 用户最后一次登录的时间。 oracle_maintained character varying(1) 暂不支持,默认值为NULL。 inherited character varying(3) 暂不支持,默认值为NULL。 default_collation character varying(100) 用户Schema的默认字符序。 implicit character varying(3) 暂不支持,默认值为NULL。 all_shard character varying(3) 暂不支持,默认值为NULL。 password_change_date timestamp with time zone 用户上次设置密码的日期。 父主题: 用户和权限管理
  • 数据库对象命名 数据库对象命名需要满足约束: 标识符表长度不超过63个字节。若需要对建有全局二级索引(GSI)的表执行COPY、GDS数据导入操作,则表名长度不超过38个字节。 标识符以字母或下划线开头,中间字符可以是字母、数字、下划线、$、#。 若标识符被双引号("")包含或者MYSQL模式下被反引号(``)包含,则可以使用合法字符的任意组合,如"123gs_column"。 标识符不区分大小写,只有被双引号包含或者MYSQL模式下被反引号(``)包含才区分大小写。 不支持gsql快捷命令(除\sf)查询反引号包含的对象名。 避免使用保留或者非保留关键字命名数据库对象。 可以使用select * from pg_get_keywords()查询GaussDB的关键字,或者在关键字章节中查看。 避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。数据库对象名称大小写敏感会使定位问题难度增加。 数据库对象命名风格务必保持统一。 增量开发的业务系统或进行业务迁移的系统,建议遵守历史的命名风格。 建议使用多个单词组成,以下划线分割。 数据库对象名称建议能够望文知意,尽量避免使用自定义缩写(可以使用通用的术语缩写进行命名)。例如,在命名中可以使用具有实际业务含义的英文词汇或汉语拼音,但规则应该在集群范围内保持一致。 变量名的关键是要具有描述性,即变量名要有一定的意义,变量名要有前缀标明该变量的类型。 表对象的命名应该可以表征该表的重要特征。例如,在表对象命名时区分该表是普通表、临时表还是非日志表: 普通表名按照数据集的业务含义命名。 临时表以“tmp_+后缀”命名。 非日志表以“ul_+后缀”命名。 外表以“f_+后缀”命名。 不创建以redis_为前缀的数据库对象。 不创建以pgxc_redistb为命名的数据库对象。 不创建以mlog_和以matviewmap_为前缀的数据库对象。 不创建以gs_role_为前缀的数据库对象。 表对象命名建议不要超过63字节。如果超过该长度内核会对表名进行截断,从而造成实际名称和设置值不一致的现象,且在不同字符集下,可能造成字符被截断,出现预期外的字符。 若需要对建有全局二级索引(GSI)的表执行COPY、GDS数据导入操作,则表名长度不超过38个字节。如果超过该长度,COPY、GDS导入过程中创建的临时表,可能触发表名截断,进而引发数据导入流程中断,出现预期外的字符等问题。 父主题: 开发设计建议
  • 参数说明 @queryblock请参见指定Hint所处的查询块Queryblock章节,可省略,表示在当前查询块生效。 src,src1,src2表示predpush下推candidates一侧表集合。 dest表示predpush下推所指定的dest表也就是目标表。 predpush如果没有逗号表示所有表都是candidates表,如果有逗号就说明同时指定了candidates表和dest表。 使用predpush hint将过滤表达式尽可能移至靠近数据源的位置以达到查询优化的目的。 使用predpush hint需要确保rewrite_rule GUC参数包含PREDPUSH|REDPUSHFORCE|PREDPUSHNORMAL选项。 subquery_block可以是视图/物化视图。
  • SUMMARY_STAT_XACT_ALL_TABLES 显示数据库各节点所有Schema中所有普通表和toast表的事务状态信息的汇总求和结果,如表1所示。 表1 SUMMARY_STAT_XACT_ALL_TABLES字段 名称 类型 描述 schemaname name 此表所在的Schema名。 relname name 表名。 seq_scan numeric 此表发起的顺序扫描数。 seq_tup_read numeric 顺序扫描抓取的活跃行数。 idx_scan numeric 此表发起的索引扫描数。 idx_tup_fetch numeric 索引扫描抓取的活跃行数。 n_tup_ins numeric 插入行数。 n_tup_upd numeric 更新行数。 n_tup_del numeric 删除行数。 n_tup_hot_upd numeric HOT更新行数(即没有更新索引列的行数)。 父主题: Object
  • SUMMARY_STATEMENT 获得数据库主节点的执行语句(归一化SQL)的全量信息,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时仅返回该PDB相关信息。 当前版本暂不支持对FOR UPDATE关键字进行识别并归一化处理。例如:SELECT * FROM table; 与SELECT * FROM table FOR UPDATE WAIT N; 会被归一化处理为相同的归一化SQL,在query字段中体现。 表1 SUMMARY_STATEMENT字段 名称 类型 描述 node_name name 节点名称。 node_id integer 节点的id。 user_name name 用户名称。 user_id oid 用户OID。 unique_sql_id bigint 归一化的SQL id。 query text 归一化的SQL。 备注:长度受track_activity_query_size控制。 n_calls bigint 调用次数。 min_elapse_time bigint SQL在内核内的最小运行时间(单位:微秒)。 max_elapse_time bigint SQL在内核内的最大运行时间(单位:微秒)。 total_elapse_time bigint SQL在内核内的总运行时间(单位:微秒)。 n_returned_rows bigint SELECT返回的结果集行数。 n_tuples_fetched bigint 随机扫描行。 n_tuples_returned bigint 顺序扫描行。 n_tuples_inserted bigint 插入行。 n_tuples_updated bigint 更新行。 n_tuples_deleted bigint 删除行。 n_blocks_fetched bigint 逻辑读次数。 n_blocks_hit bigint 内存中命中次数。 n_soft_parse bigint 软解析次数。 n_hard_parse bigint 硬解析次数。 db_time bigint 有效的数据库内部时间花费,多线程将累加(单位:微秒)。 cpu_time bigint CPU时间(单位:微秒)。 execution_time bigint 执行器内执行时间(单位:微秒)。 parse_time bigint SQL解析时间(单位:微秒)。 plan_time bigint SQL生成计划时间(单位:微秒)。 rewrite_time bigint SQL重写时间(单位:微秒)。 pl_execution_time bigint plpgsql上的执行时间(单位:微秒)。 pl_compilation_time bigint plpgsql上的编译时间(单位:微秒)。 data_io_time bigint IO上的时间花费(单位:微秒)。 net_send_info text 通过物理连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。单机模式下不支持该字段。 net_recv_info text 通过物理连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。单机模式下不支持该字段。 net_stream_send_info text 通过逻辑连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。单机模式下不支持该字段。 net_stream_recv_info text 通过逻辑连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。单机模式下不支持该字段。 last_updated timestamp with time zone 最后一次更新该语句的时间。 sort_count bigint 排序执行的次数。 sort_time bigint 排序执行的时间(单位:微秒)。 sort_mem_used bigint 排序过程中使用的work memory大小(单位:KB)。 sort_spill_count bigint 排序过程中,若发生落盘,写文件的次数。 sort_spill_size bigint 排序过程中,若发生落盘,使用的文件大小(单位:KB)。 hash_count bigint hash执行的次数。 hash_time bigint hash执行的时间(单位:微秒)。 hash_mem_used bigint hash过程中使用的work memory大小(单位:KB)。 hash_spill_count bigint hash过程中,若发生落盘,写文件的次数。 hash_spill_size bigint hash过程中,若发生落盘,使用的文件大小(单位:KB)。 parent_unique_sql_id bigint 父语句的unique_sql_id,非存储过程子语句该值为0。 lock_wait_time bigint SQL的等锁时间(单位:微秒)。 total_used_memory bigint 归一化语句的内存使用总量(单位:MB)。 max_used_memory integer 单条语句的最大内存使用量(单位:MB)。 min_used_memory integer 单条语句的最小内存使用量(单位:MB)。 db_name name 连接后端的数据库名称。 db_id db_id 连接后端的数据库OID。 父主题: Query
  • WDR Snapshot数据表 WDR Snapshot数据表命名原则:snap_{源数据表}。 WDR Snapshot数据表来源为DBE_PERF Schema下的视图,WDR Snapshot在启动后(打开GUC参数enable_wdr_snapshot)会触发创建WDR Snapshot数据表。 初始用户或者监控管理员用户具有权限查看WDR Snapshot数据表。 父主题: WDR Snapshot Schema
  • 语法格式 设置会话的事务参数。 ALTER SESSION SET [ SESSION CHARACTERIS TICS AS ] TRANSACTION { ISOLATION LEVEL { READ COMMITTED | READ UNCOMMITTED } } | { READ ONLY | READ WRITE } } [, ...] ; 设置会话的其他运行时参数。 ALTER SESSION SET {{config_parameter { { TO | = } { value | DEFAULT } | FROM CURRENT }} | CURRENT_SCHEMA { TO | = } { schema | DEFAULT } | TIME ZONE time_zone | SCHEMA 'schema' | NAMES encoding_name | ROLE role_name PASSWORD 'password' | SESSION AUTHORIZATION { role_name PASSWORD 'password' | DEFAULT } | XML OPTION { DOCUMENT | CONTENT } } ;
  • 参数说明 config_parameter 可设置的运行时参数的名称。可用的运行时参数可以使用SHOW ALL命令查看。 value config_parameter的新值。可以声明为字符串常量、标识符、数字,或者逗号分隔的列表。DEFAULT用于把这些参数设置为它们的缺省值。 DEFAULT OFF RESET 用户指定的值:需要满足修改参数的取值限制 FROM CURRENT 取当前会话中的值设置为configuration_parameter的值。 TIME ZONE timezone 用于指定当前会话的本地时区。 取值范围:有效的本地时区。该选项对应的运行时参数名称为TimeZone,DEFAULT缺省值为PRC。 CURRENT_SCHEMA schema CURRENT_SCHEMA用于指定当前的模式。 取值范围:已存在模式名称。如果模式名不存在,会导致CURRENT_SCHEMA值为空。 SCHEMA schema 同CURRENT_SCHEMA。此处的schema是个字符串。 NAMES encoding_name 用于设置客户端的字符编码。等价于set client_encoding to encoding_name。 取值范围:有效的字符编码。该选项对应的运行时参数名称为client_encoding,默认编码为UTF8。 role_name 取值范围:字符串。要符合标识符命名规范。 password 角色的密码。要求符合密码的命名规则。 SESSION AUTHORIZATION 当前会话的用户表示符。 XML OPTION { DOCUMENT | CONTENT } 用于设置XML的解析方式。 取值范围:CONTENT(缺省)、DOCUMENT ISOLATION LEVEL 指定事务隔离级别,它决定当一个事务中存在其他并发运行事务时它能够看到什么数据。 取值范围: READ COMMITTED:读已提交隔离级别,只能读到已经提交的数据,而不会读到未提交的数据。这是缺省值。 READ UNCOMMITTED:读未提交隔离级别,指定后的行为和READ COMMITTED行为一致。
  • 场景一:磁盘满后快速定位存储倾斜的表 首先,通过pg_stat_get_last_data_changed_time(oid)函数查询出近期发生过数据变更的表,鉴于表的最后修改时间只在进行IUD操作的CN记录,要查询库内1天(间隔可在函数中调整)内被修改的所有表,可以使用如下封装函数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 CREATE OR REPLACE FUNCTION get_last_changed_table(OUT schemaname text, OUT relname text) RETURNS setof record AS $$ DECLARE row_data record; row_name record; query_str text; query_str_nodes text; BEGIN query_str_nodes := 'SELECT node_name FROM pgxc_node where node_type = ''C'''; FOR row_name IN EXECUTE(query_str_nodes) LOOP query_str := 'EXECUTE DIRECT ON (' || row_name.node_name || ') ''SELECT b.nspname,a.relname FROM pg_class a INNER JOIN pg_namespace b on a.relnamespace = b.oid where pg_stat_get_last_data_changed_time(a.oid) BETWEEN current_timestamp - 1 AND current_timestamp;'''; FOR row_data IN EXECUTE(query_str) LOOP schemaname = row_data.nspname; relname = row_data.relname; return next; END LOOP; END LOOP; return; END; $$ LANGUAGE 'plpgsql'; 然后,通过table_distribution(schemaname text, tablename text)查询出表在各个DN占用的存储空间。 1 SELECT table_distribution(schemaname,relname) FROM get_last_changed_table();
  • 场景二:常规数据倾斜巡检 在库中表个数少于1W的场景,直接使用倾斜视图查询当前库内所有表的数据倾斜情况。 1 SELECT * FROM pgxc_get_table_skewness ORDER BY totalsize DESC; 在库中表个数非常多(至少大于1W)的场景,因PGXC_GET_TABLE_SKEWNESS涉及全库查并计算非常全面的倾斜字段,所以可能会花费比较长的时间(小时级),请根据PGXC_GET_TABLE_SKEWNESS视图定义,直接使用table_distribution()函数自定义输出,减少输出列进行计算优化,例如: 1 2 3 4 5 6 SELECT schemaname,tablename,max(dnsize) AS maxsize, min(dnsize) AS minsize FROM pg_catalog.pg_class c INNER JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace INNER JOIN pg_catalog.table_distribution() s ON s.schemaname = n.nspname AND s.tablename = c.relname INNER JOIN pg_catalog.pgxc_class x ON c.oid = x.pcrelid AND x.pclocatortype = 'H' GROUP BY schemaname,tablename;
  • 参数说明 label_name 安全标签名称,需在数据库内唯一。 取值范围:字符串,要符合标识符命名规范,且最大长度不超过63个字符。若超过63个字符,数据库会截断并保留前63个字符当作安全标签名称。当安全标签名称中包含大写字母时数据库会自动转换为小写字母,如果需要创建包含大写字母的安全标签名称则需要使用双引号括起来。 标识符需要为小写字母(a~z)、大写字母(A~Z)、下划线(_)、数字(0~9)或美元符号($),且必须以字母或下划线开头。 label_content 安全标签内容,要求如下: 安全标签由等级和范围两部分组成,两者中间用冒号分隔,形式如:等级类别:范围类别,其中等级类别有且仅由一个等级组成,范围类别可由多个范围组成,但至少需要有一个范围,例如“L1:G2,G41,G6-G27”。 等级分类中有1024个等级,命名为Li,其中1≤i≤1024,等级满足偏序关系(若i ≤ j,则Li ≤ Lj),例如等级L1小于等级L3. 范围分类中有1024个范围,命名为Gi,其中1≤i≤1024,范围之间无法比较大小,但可以进行集合运算,多个范围之间用逗号分隔,连字符表示区间,例如{G2-G5}表示{G2,G3,G4,G5},集合{G1}是集合{G1,G6}的子集。 等级和范围的首字母L和G均为大写;L和G之后至少要有一个数字字符,且第一位非零,不允许出现其他非数字字符;{Gxxx-Gyyy}形式中数字yyy必须大于等于xxx。 不符合要求的等级和范围均为非法输入,系统会报错。 例子: gaussdb=# CREATE SECURITY LABEL sec_label3 'L3:'; //标签内容范围类别至少要有一个才行。 ERROR: in label text "L3:", there at least have one level and one group
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 --创建安全标签sec_label。 gaussdb=# CREATE SECURITY LABEL sec_label 'L1:G4'; --创建安全标签sec_label,安全标签内容为'L1:G2,G4'。 gaussdb=# CREATE SECURITY LABEL sec_label 'L1:G2,G4'; ERROR: security label "sec_label" already exists --创建安全标签sec_label1,安全标签内容为'L1:G2,G4'。 gaussdb=# CREATE SECURITY LABEL sec_label1 'L1:G2,G4'; --创建安全标签sec_label2,安全标签内容为'L3:G1-G5'。 gaussdb=# CREATE SECURITY LABEL sec_label2 'L3:G1-G5'; --查看系统中已创建好的安全标签。 gaussdb=# SELECT * FROM gs_security_label; label_name | label_content ------------+--------------- sec_label | L1:G4 sec_label1 | L1:G2,G4 sec_label2 | L3:G1-G5 (3 rows) --删除已存在的安全标签sec_label、sec_label1、sec_label2。 gaussdb=# DROP SECURITY LABEL sec_label; gaussdb=# DROP SECURITY LABEL sec_label1; gaussdb=# DROP SECURITY LABEL sec_label2; --再次查看系统中已创建好的安全标签。 gaussdb=# SELECT * FROM gs_security_label; label_name | label_content ------------+--------------- (0 rows)
  • SUMMARY_STAT_XACT_SYS_TABLES 显示数据库各节点的Schema中系统表的事务状态信息的汇总求和结果,如表1所示。 表1 SUMMARY_STAT_XACT_SYS_TABLES字段 名称 类型 描述 schemaname name 此表所在的Schema名。 relname name 表名。 seq_scan numeric 此表发起的顺序扫描数。 seq_tup_read numeric 顺序扫描抓取的活跃行数。 idx_scan numeric 此表发起的索引扫描数。 idx_tup_fetch numeric 索引扫描抓取的活跃行数。 n_tup_ins numeric 插入行数。 n_tup_upd numeric 更新行数。 n_tup_del numeric 删除行数。 n_tup_hot_upd numeric HOT更新行数(即没有更新索引列的行数)。 父主题: Object
  • GS_MODEL_WAREHOUSE GS_MODEL_WAREHOUSE系统表用于存储AI引擎训练模型,其中包含模型、训练过程的详细描述。 表1 GS_MODEL_WAREHOUSE字段 名称 数据类型 描述 oid oid 隐含列。 modelname name 唯一约束。 modelowner oid 模型拥有者的OID。 createtime timestamp without time zone 模型创建的时间。 processedtuples integer 训练涉及的元组数。 discardedtuples integer 未参加训练的不合格元组数。 preprocesstime real 数据预处理时长。 exectime real 训练时长。 iterations integer 迭代轮次。 outputtype oid 模型输出的数据类型OID。 modeltype text AI算子的类型名称。 query text 创建模型所执行的query语句。 modeldata bytea 保存的二进制模型信息。 weight real[] 目前只适用于GD算子模型。 hyperparametersnames text[] 涉及的超参名称。 hyperparametersvalues text[] 超参所对应的取值。 hyperparametersoids oid[] 超参对应的数据类型OID。 coefnames text[] 模型参数名称。 coefvalues text[] 模型参数对应的取值。 coefoids oid[] 模型参数对应的数据类型OID。 trainingscoresname text[] 度量模型性能方法的名称。 trainingscoresvalue real[] 度量模型性能方法的数值。 modeldescribe text[] 模型的描述信息。 父主题: AI
  • USER_TRANSACTION USER_TRANSACTION用来统计用户执行的事务信息。monadmin用户能看到所有用户执行事务的信息,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时仅返回该PDB相关信息。 表1 USER_TRANSACTION字段 名称 类型 描述 username name 用户的名称。 commit_counter bigint 用户事务commit数量。 rollback_counter bigint 用户事务rollback数量。 resp_min bigint 用户事务最小响应时间(单位:微秒)。 resp_max bigint 用户事务最大响应时间(单位:微秒)。 resp_avg bigint 用户事务平均响应时间(单位:微秒)。 resp_total bigint 用户事务总响应时间(单位:微秒)。 bg_commit_counter bigint 后台事务commit数量。 bg_rollback_counter bigint 后台事务rollback数量。 bg_resp_min bigint 后台事务最小响应时间(单位:微秒)。 bg_resp_max bigint 后台事务最大响应时间(单位:微秒)。 bg_resp_avg bigint 后台事务平均响应时间(单位:微秒)。 bg_resp_total bigint 后台事务总响应时间(单位:微秒)。 dbid oid 数据库标识。 父主题: Workload
  • PG_JOB PG_JOB系统表存储用户创建的定时任务的详细信息,定时任务线程定时轮询PG_JOB系统表中的时间,当任务到期会触发任务的执行,并更新PG_JOB表中的任务状态。该系统表属于Shared Relation,所有创建的job记录对所有数据库可见。普通用户需授权后才能访问。 表1 PG_JOB字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 job_id bigint 作业id,主键,是唯一的(有唯一索引)。 current_postgres_pid bigint 如果当前任务已被执行,那么此处记录运行此任务的线程ID。默认为-1,表示此任务未被执行过。 log_user name 创建者的UserName。 priv_user name 作业执行者的UserName。 dbname name 标识作业要在哪一个数据库执行的数据库名称。 node_name name 标识当前作业是在哪一个CN上创建和执行。 job_status "char" 当前任务的执行状态,默认为's',各取值含义: 'r':running 's':successfully finished 'f':job failed 'd':disable 当job连续执行失败16次,会将job_status自动设置为失效状态'd',后续不再执行该job。 注:当用户将定时任务关闭(即:GUC参数job_queue_processes为0时),由于监控job执行的线程不会启动,所以该状态不会根据job的实时状态进行设置,用户不需要关注此状态。只有当开启定时任务功能(即:GUC参数job_queue_processes为非0时),系统才会根据当前job的实时状态刷新该字段值。 start_date timestamp without time zone 作业第一次开始执行时间,时间精确到毫秒。 next_run_date timestamp without time zone 定时任务下次执行的时间,时间精确到毫秒。 failure_count smallint 失败计数,作业连续执行失败16次,不再继续执行。 interval text 作业执行的重复时间间隔。 last_start_date timestamp without time zone 上次运行开始时间,时间精确到毫秒。 last_end_date timestamp without time zone 上次运行的结束时间,时间精确到毫秒。 last_suc_date timestamp without time zone 上次成功运行的开始时间,时间精确到毫秒。 this_run_date timestamp without time zone 正在运行任务的开始时间,时间精确到毫秒。 nspname name 标识作业执行时的schema的名称。 job_name text DBE_SCHEDULER定时任务专用,定时任务名称。 end_date timestamp without time zone DBE_SCHEDULER定时任务专用,定时任务失效时间,时间精确到毫秒。 enable boolean DBE_SCHEDULER定时任务专用,定时任务启用状态: true:启用。 false:未启用。 failure_msg text 最新一次执行任务报错信息。 父主题: 其他系统表
  • 游标概述 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 当存储过程使用returns返回游标时,如果使用JDBC调用该存储过程,返回的游标将不可用,使用out出参不受影响。 存储过程内commit/rollback时,显式游标为保证在commit/rollback后仍可用,会缓存游标所有数据,若游标数据量较大,此过程耗时可能较长。 在存储过程内修改表数据后,开启与该表相关的游标,并在rollback后继续FETCH游标内的数据,会产生报错。 游标的使用分为显式游标和隐式游标。对于不同的SQL语句,游标的使用情况不同,详细信息请参见表1。 表1 游标使用情况 SQL语句 游标 非查询语句 隐式的 结果是单行的查询语句 隐式的或显式的 结果是多行的查询语句 显式的 父主题: 游标
  • GLOBAL_SESSION_MEMORY 统计各节点的Session级别的内存使用情况,包含执行作业在数据节点上GaussDB线程和Stream线程分配的所有内存,单位为MB,如表1所示。 表1 GLOBAL_SESSION_MEMORY字段 名称 类型 描述 node_name name 节点名称。 sessid text 线程启动时间+线程标识。 init_mem integer 当前正在执行作业进入执行器前已分配的内存。 used_mem integer 当前正在执行作业已分配的内存。 peak_mem integer 当前正在执行作业已分配的内存峰值。 父主题: Session/Thread
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 --创建test_jim和test_tom用户。 gaussdb=# CREATE USER test_jim PASSWORD '********'; gaussdb=# CREATE USER test_tom PASSWORD '********'; --查看自动创建的模式的拥有者为同名的用户。 gaussdb=# \dn test* List of schemas Name | Owner ----------+---------- test_jim | test_jim test_tom | test_tom (2 rows) --将所有test_jim拥有的数据库对象的属主更改为test_tom。 gaussdb=# REASSIGN OWNED BY test_jim TO test_tom; --查看schema的信息,test_jim模式的属主更换为test_tom。 gaussdb=# \dn test* List of schemas Name | Owner ----------+---------- test_jim | test_tom test_tom | test_tom (2 rows) --删除test_jim和test_tom用户。 gaussdb=# DROP USER test_jim, test_tom CASCADE;
  • MY_JOBS MY_JOBS视图显示当前用户拥有的定时任务的详细信息。该视图同时存在于PG_CATALOG和SYS Schema下。具体字段信息如表1所示。 表1 MY_JOBS字段 名称 类型 描述 job bigint 作业id。 log_user name 创建者的UserName。 priv_user name 作业执行者的UserName。 dbname name 创建作业的数据库名称。 schema_user name 定时任务的默认模式名。 start_date timestamp without time zone 作业第一次开始执行的时间。 start_suc text 作业第一次成功执行对应的开始时间。 last_date timestamp without time zone 上次运行的开始时间。 last_suc text 上次成功运行的开始时间。 last_sec text 上次成功运行的开始时间,提供兼容性支持。 this_date timestamp without time zone 正在运行任务的开始时间。 this_suc text 正在运行任务的开始时间。 this_sec text 正在运行任务的开始时间,提供兼容性支持。 next_date timestamp without time zone 任务下次执行时间。 next_suc text 任务下次执行时间。 next_sec text 任务下次执行时间,提供兼容性支持。 total_time numeric 任务最近一次的执行时长。 broken text 如果status字段取值为d,broken则为'y',否则broken为n。 status "char" 本步骤的执行状态,取值范围:(r、s、f、d),默认为r,取值含义: r:运行中。 s:执行成功。 f:执行失败。 d:取消执行。 interval text 用来计算下次运行时间的时间表达式,如果为null则表示定时任务只执行一次。 failures smallint 失败计数,若作业连续执行失败16次,则不再继续执行。 what text 可执行的作业。 nls_env character varying(4000) 暂不支持,值为NULL。 misc_env raw 暂不支持,值为NULL。 instance numeric 暂不支持,值为NULL。 父主题: 其他系统视图
  • PG_LOCKS PG_LOCKS视图显示各打开事务所持有的锁的信息。在多租场景下,在PDB仅返回本PDB信息,在Non-PDB返回全局信息。 表1 PG_LOCKS字段 名称 类型 引用 描述 locktype text - 被锁定对象的类型:relation、extend,page、tuple、transactionid、virtualxid、object、userlock、advisory或tablespace。 database oid PG_DATABASE.oid 被锁定对象所在数据库的OID。 如果被锁定的对象是共享对象,则OID为0。 如果被锁定的对象是一个事务,则OID为NULL。 relation oid PG_CLASS.oid 关系的OID,如果锁定的对象不是关系,也不是关系的一部分,则为NULL。 page integer - 关系内部的页面编号,如果对象不是关系页或者不是行页,则为NULL。 tuple smallint - 页面里边的行编号,如果对象不是行,则为NULL。 bucket integer - 子表对应的bucket number。如果目标不是表的话,则为NULL。 virtualxid text - 虚拟事务的ID,如果对象不是一个虚拟事务,则为NULL。 transactionid xid - 事务的ID,如果对象不是一个事务,则为NULL。 classid oid PG_CLASS.oid 包含该对象的系统表的OID,如果对象不是普通的数据库对象,则为NULL。 objid oid - 对象在其系统表内的OID,如果对象不是普通的数据库对象,则为NULL。 objsubid smallint - 对于表的一个字段,这是字段编号;对于其他对象类型,这个字段是0;如果这个对象不是普通数据库对象,则为NULL。 virtualtransaction text - 持有此锁或者在等待此锁的虚拟事务的ID。 pid bigint - 持有或者等待这个锁的服务器逻辑线程的ID。如果锁是被一个预备事务持有的,则为NULL。 sessionid bigint - 持有或者等待这个锁的会话的ID。 mode text - 这个线程持有的或者是期望的锁模式。 可能取值为:AccessShareLock、RowShareLock、RowExclusiveLock、ShareLock、ShareRowExclusiveLock、ExclusiveLock、AccessExclusiveLock。 granted boolean - 如果锁是持有锁,则为TRUE。 如果锁是等待锁,则为FALSE。 fastpath boolean - 如果通过fast-path获得锁,则为TRUE;如果通过主要的锁表获得,则为FALSE。 locktag text - 会话等待锁信息,可通过locktag_decode()函数解析。 global_sessionid text - 全局会话ID。 父主题: 其他系统视图
  • GS_MY_ILMEVALUATIONDETAILS GS_MY_ILMEVALUATIONDETAILS视图描述ADO Task的评估详情信息,包含Task ID,策略信息、对象信息、评估结果以及ADO JOB名称。 表1 GS_MY_ILMEVALUATIONDETAILS字段 名称 类型 描述 task_id bigint ADO Task的ID。 policy_name character varying(128) ADO策略名称,系统自动生成,规则为:p+策略ID。 object_owner character varying(128) 数据对象Schema名称。 object_name character varying(128) 数据对象名称。 subobject_name character varying(128) 数据对象分区名称。 object_type character varying(18) 数据对象类型: TABLE:表。 TABLE PARTITION:分区。 selected_for_execution character varying(42) 评估结果: SELECTED FOR EXECUTION:评估通过。 PRECONDITION NOT SATISFIED:评估不通过。 JOB ALREADY EXISTS:任务已存在。 job_name character varying(128) 执行具体ADO Job的任务名称,当评估结果为评估通过时,此处有值。 comments character varying(4000) 预留字段。 node_name name 数据来源节点的名称。 父主题: OLTP表压缩
  • vector_l2_squared_distance 功能说明:获得两个向量的欧式距离的平方。 入参1的类型:floatvector 入参2的类型:floatvector 出参类型:float8 代码示例: gaussdb=# SELECT vector_l2_squared_distance(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]')); gaussdb=# SELECT vector_l2_squared_distance('[1,2,3]', '[5,-1,3.5]');
共100000条