华为云用户手册

  • GS_SPM_SYS_BASELINE GS_SPM_SYS_BASELINE是用于查看数据库中baseline信息的视图,SYSADMIN和初始用户权限均可以访问该视图。 表1 GS_SPM_SYS_BASELINE字段 名称 类型 描述 sql_hash bigint SPM中SQL的唯一标识。 plan_hash bigint 当前SQL中的plan的唯一标识。 unique_sql_id bigint 数据库中SQL的唯一标识 outline text outline文本,可固定当前计划的一组Hint。 status integer 计划的状态,取值: 0(UNACC):未接受的计划。 1(ACC):已经接受的计划。 2(FIXED):一种特殊的ACC状态的计划,计划的匹配优先级高于ACC状态的计划。 gplan boolean 当前outline对应的计划是否是gplan。 cost double precision 计划的总代价。 sql_text text SQL的文本串。 param_num integer SQL的参数数量。 source text baseline的来源。 creation_time timestamp with time zone baseline的创建时间。 modification_time timestamp with time zone baseline的修改时间。 jump_intercept_cnt bigint 当前baseline拦截计划跳变次数。 invalid boolean 当前baseline是否无效。 父主题: SPM计划管理
  • PG_AMPROC PG_AMPROC系统表存储有关与访问方法操作符族相关联的支持过程的信息。每个属于某个操作符族的支持过程都占有一行。 表1 PG_AMPROC字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 amprocfamily oid PG_OPFAMILY.oid 该项的操作符族。 amproclefttype oid PG_TYPE.oid 相关操作符的左输入数据类型。可能取值及其描述见于8.3 数据类型。 amprocrighttype oid PG_TYPE.oid 相关操作符的右输入数据类型。可能取值及其描述见于8.3 数据类型。 amprocnum smallint - 支持过程编号。 amproc regproc PG_PROC.proname 过程的OID。 amproclefttype和amprocrighttype字段的习惯解释,标识一个特定支持过程支持的操作符的左和右输入类型。对于某些访问方式,匹配支持过程本身的输入数据类型,对其他的则不这样。有一个对索引的“缺省”支持过程的概念,amproclefttype和amprocrighttype都等于索引操作符类的opcintype。 父主题: 其他系统表
  • GS_LABELS GS_LABELS视图显示所有已配置的资源标签信息。需要有系统管理员或安全策略管理员权限才可以访问此视图。 表1 GS_LABELS字段 名称 类型 描述 labelname name 资源标签的名称。 labeltype name 资源标签的类型。对应系统表GS_POLICY_LABEL中的labeltype字段。 fqdntype name 数据库资源的类型。如table、schema、index等。 schemaname name 数据库资源所属的schema名称。 fqdnname name 数据库资源名称。 columnname name 数据库资源列名称,若标记的数据库资源不为表的列则该项为空。 父主题: 用户和权限管理
  • 执行具有输入参数的语句 准备一个普通语句,通过替换参数(在想要替换参数的地方输入问号)执行它的特定版本。使用EXECUTE语句通过USING子句给定参数执行准备语句。示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "INSERT INTO test1 VALUES(?, ?);"; EXEC SQL END DECLARE SECTION; /*PREPARE 准备一个语句用于执行*/ EXEC SQL PREPARE mystmt FROM :stmt; ... /*单引号为有效字符,若用字符串需用双引号*/ EXEC SQL EXECUTE mystmt USING 42, 'foobar'; /*当预备语句不再使用,请及时释放*/ EXEC SQL DEALLOCATE PREPARE name; 父主题: 执行动态SQL语句
  • 分页查询 语法如下: SELECT query_list FROM table_name [ LIMIT { [offset,] count | ALL } ] offset :表示从第几行向后开始。 count:表示向后查询几条数据。 ALL:表示向后查询所有的数据。 -- 建表并插入100条数据。 gaussdb=# CREATE TABLE testl(id int PRIMARY KEY, flag varchar(10)); gaussdb=# INSERT INTO testl (id, flag) VALUES (generate_series(1,100),'flag'||generate_series(1,100)); --查询前5条数据。 gaussdb=# SELECT * FROM testl ORDER BY 1 LIMIT 5; id | flag ----+------- 1 | flag1 2 | flag2 3 | flag3 4 | flag4 5 | flag5 (5 rows) --从第20条向后查询4条数据。 gaussdb=# SELECT * FROM testl ORDER BY 1 LIMIT 20,4; id | flag ----+-------- 21 | flag21 22 | flag22 23 | flag23 24 | flag24 (4 rows) --从第96条向后查询出所有数据。 gaussdb=# SELECT * FROM testl ORDER BY 1 LIMIT 96,ALL; id | flag -----+--------- 97 | flag97 98 | flag98 99 | flag99 100 | flag100 (4 rows) --删除。 gaussdb=# DROP TABLE testl; 父主题: SELECT
  • CONFIG_SETTINGS CONFIG_SETTINGS视图显示数据库运行时参数的相关信息,如表1所示。 表1 CONFIG_SETTINGS字段 名称 类型 描述 name text 参数名称。 setting text 参数当前值。 unit text 参数的隐式结构。 category text 参数的逻辑组。 short_desc text 参数的简单描述。 extra_desc text 参数的详细描述。 context text 设置参数值的上下文,包括internal、postmaster、sighup、backend、superuser和user。 vartype text 参数类型,包括bool、enum、integer、real和string。 source text 参数的赋值方式。 min_val text 参数最大值。如果参数类型不是数值型,那么该字段值为null。 max_val text 参数最小值。如果参数类型不是数值型,那么该字段值为null。 enumvals text[] enum类型参数合法值。如果参数类型不是enum型,那么该字段值为null。 boot_val text 数据库启动时参数默认值。 reset_val text 数据库重置时参数默认值。 sourcefile text 设置参数值的配置文件。如果参数不是通过配置文件赋值,那么该字段值为null。 sourceline integer 设置参数值的配置文件的行号。如果参数不是通过配置文件赋值,那么该字段值为null。 父主题: Configuration
  • MY_ERRORS MY_ERRORS视图显示用户拥有的存储对象的最新编译错误信息。该视图所有用户可访问,仅可查看当前用户所属信息。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 MY_ERRORS字段 名称 类型 描述 name character varying(128) 对象的名称。 type character varying(12) 对象类型: PROCEDURE FUNCTION PACKAGE PACKAGE BODY sequence numeric 序列号。 line numeric 发生错误的行号。 position numeric 发生错误的行中的位置。 text character varying(4000) 错误文本。 attribute character varying(9) 属性标记:错误(ERROR)。 message_number numeric 暂不支持,值为NULL。 父主题: 其他系统视图
  • PG_STAT_ALL_INDEXES PG_STAT_ALL_INDEXES视图可用来查询当前数据库中的每个索引行,显示访问特定索引的统计。 索引可以通过简单的索引扫描或位图索引扫描进行使用。位图扫描中几个索引的输出可以通过AND或者OR规则进行组合,因此当使用位图扫描的时候,很难将独立堆行抓取与特定索引进行组合,因此,每一次位图扫描都会增加pg_stat_all_indexes.idx_tup_read使用索引的计数,并且增加pg_stat_all_tables.idx_tup_fetch表的计数,但不影响pg_stat_all_indexes.idx_tup_fetch。 表1 PG_STAT_ALL_INDEXES字段 名称 类型 描述 relid oid 索引所在的表的OID。 indexrelid oid 索引的OID。 schemaname name 索引的模式名。 relname name 索引的表名。 indexrelname name 索引名。 idx_scan bigint 索引上开始的索引扫描数。 idx_tup_read bigint 该索引上扫描返回的索引项数。 idx_tup_fetch bigint 使用该索引的简单索引扫描在原表中抓取的活跃行数。 父主题: 其他系统视图
  • 选择数据类型 在字段设计时,基于查询效率的考虑,一般需要遵循以下原则: 尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。 对于字符串数据,建议使用变长字符串数据类型,并指定最大长度。请务必确保指定的最大长度大于需要存储的最大字符数,避免出现超出字段定义最大长度的异常报错而导致业务中断现象。除非明确知道数据类型为固定长度字符串,否则,不建议使用CHAR(n)、BPCHAR(n)、NCHAR(n)、CHARACTER(n)。 关于字符串类型的详细说明,请参见常用字符串类型介绍。
  • GLOBAL_TRANSACTIONS_PREPARED_XA CTS 显示数据库主节点当前准备好进行两阶段提交的事务的信息汇总,如表1所示。 表1 GLOBAL_TRANSACTIONS_PREPARED_XACTS字段 名称 类型 描述 transaction xid 预备事务的数字事务标识。 gid text 赋予该事务的全局事务标识。 prepared timestamp with time zone 事务准备好提交的时间。 owner name 执行该事务的用户的名称。 database name 执行该事务所在的数据库名。 父主题: Transaction
  • PG_DATABASE PG_DATABASE系统表存储关于可用数据库的信息。 表1 PG_DATABASE字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 datname name 数据库名称。 datdba oid 数据库所有人,通常为其创建者。 encoding integer 数据库的字符编码方式。 datcollate name 数据库使用的排序顺序。 datctype name 数据库使用的字符分类。 datistemplate boolean 是否允许作为模板数据库。 datallowconn boolean 如果为真,表示用户可以连接到这个数据库。如果为假,则没有用户可以连接到这个数据库。这个字段用于保护template0数据库不被更改。 datconnlimit integer 该数据库上允许的最大并发连接数,-1表示无限制。 datlastsysoid oid 数据库里最后一个系统OID 。 datfrozenxid xid32 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。当前版本该字段已经废弃使用,为保持前向兼容,保留此字段,新增datfrozenxid64用于记录此信息。 dattablespace oid 数据库的缺省表空间。 datcompatibility name 数据库兼容模式,当前支持四种兼容模式:A、B、C、PG,分别表示兼容O、MY、TD和POSTGRES。 datacl aclitem[] 访问权限。 datfrozenxid64 xid 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。 datminmxid xid 该数据库中所有在这个之前的多事务ID已经被一个事务ID替换。这用于跟踪该数据库是否需要为了防止事务ID重叠或者允许收缩pg_clog而进行清理。它是此数据库中所有表的13.2.15.27 PG_CLASS中relminmxid的最小值。 dattimezone name 数据库时区信息,默认为PRC时区。 父主题: 其他系统表
  • GLOBAL_REL_IOSTAT 获取所有节点上的数据文件I/O统计信息,如表1所示。 表1 GLOBAL_REL_IOSTAT字段 名称 类型 描述 node_name name 节点名称。 phyrds bigint 读物理文件的数目。 phywrts bigint 写物理文件的数目。 phyblkrd bigint 读物理文件块的数目。 phyblkwrt bigint 写物理文件块的数目。 父主题: File
  • PG_STATIO_ALL_INDEXES PG_STATIO_ALL_INDEXES视图可用来查询当前数据库中的每个索引行的信息,显示特定索引的I/O的统计信息。 表1 PG_STATIO_ALL_INDEXES字段 名称 类型 描述 relid oid 该索引所在的表的OID。 indexrelid oid 该索引的OID。 schemaname name 该索引的模式名。 relname name 该索引的表名。 indexrelname name 索引名称。 idx_blks_read bigint 从索引中读取的磁盘块数。 idx_blks_hit bigint 索引命中缓存数。 父主题: 其他系统视图
  • GS_STATIO_ALL_PARTITIONS GS_STATIO_ALL_PARTITIONS视图包含当前数据库中每个分区表分区的I/O统计信息,此视图信息由gs_statio_get_all_partitions_stats()函数查询得到。 表1 GS_STATIO_ALL_PARTITIONS字段 名称 类型 描述 partition_oid oid 分区OID。 schemaname name 该分区模式名。 relname name 该分区所在表的表名。 partition_name name 该分区所在一级分区名。 sub_partition_name name 该分区所在二级分区名。 heap_blks_read bigint 从该分区中读取的磁盘块数。 heap_blks_hit bigint 该分区缓存命中数。 idx_blks_read bigint 从分区中所有索引读取的磁盘块数。 idx_blks_hit bigint 分区中所有索引命中缓存数。 toast_blks_read bigint 该分区的TOAST表分区读取的磁盘块数(如果存在)。 toast_blks_hit bigint 该分区的TOAST表分区命中缓冲区数(如果存在)。 tidx_blks_read bigint 该分区的TOAST表分区索引读取的磁盘块数(如果存在)。 tidx_blks_hit bigint 该分区的TOAST表分区索引命中缓冲区数(如果存在)。 父主题: 分区表
  • GLOBAL_SESSION_TIME 用于统计各节点会话线程的运行时间信息,及各执行阶段所消耗时间,如表1所示。 表1 GLOBAL_SESSION_TIME字段 名称 类型 描述 node_name name 节点名称。 sessid text 线程启动时间+线程标识。 stat_id integer 统计编号。 stat_name text 统计会话类型名称。 value bigint 统计会话值。 父主题: Session/Thread
  • GS_DEPENDENCIES GS_DEPENDENCIES系统表记录对象的依赖项信息,和13.2.15.4 GS_DEPENDENCIES_OBJ表是一个一对多的关系。 表1 GS_DEPENDENCIES字段 名称 类型 描述 schemaname name 名称空间的名称。 packagename name package的名称。 refobjpos integer 被依赖体引用的位置。 1:类型。 2:包头。 4:函数头。 8:函数体。 16:包体。 32:视图。 refobjoid oid 被依赖体的oid。 objectname text 依赖体名称。 父主题: 其他系统表
  • GS_SHARED_MEMORY_DETAIL 查询当前节点所有已产生的共享内存上下文的使用信息。 表1 GS_SHARED_MEMORY_DETAIL字段 名称 类型 描述 contextname text 内存上下文的名称。 level smallint 内存上下文的级别。 parent text 上级内存上下文。 totalsize bigint 共享内存总大小(单位:字节)。 freesize bigint 共享内存剩余大小(单位:字节)。 usedsize bigint 共享内存使用大小(单位:字节)。 父主题: 其他系统视图
  • OS_THREADS 提供当前节点下所有线程的状态信息,如表1所示。 表1 OS_THREADS字段 名称 类型 描述 node_name text 当前节点的名称。 pid bigint 当前节点进程中正在运行的线程号。 lwpid integer 与pid对应的轻量级线程号。 thread_name text 与pid对应的线程名称。 creation_time timestamp with time zone 与pid对应的线程创建的时间。 父主题: OS
  • GS_THREAD_MEMORY_CONTEXT GS_THREAD_MEMORY_CONTEXT视图显示所有线程的内存使用情况,以MemoryContext节点来统计。该视图在关闭线程池(enable_thread_pool = off)时等价于GS_SESSION_MEMORY_DETAIL视图。当GUC参数enable_memory_limit的值为off时,本视图不可用。 其中内存上下文“TempSmallContextGroup”,记录当前线程中所有内存上下文字段“totalsize”小于8192字节的信息汇总,并且内存上下文统计计数记录到“usedsize”字段中。所以在视图中,“TempSmallContextGroup”内存上下文中的“totalsize”和“freesize”是该线程中所有内存上下文“totalsize”小于8192字节的汇总总和,usedsize字段表示统计的内存上下文个数。 表1 GS_THREAD_MEMORY_CONTEXT字段 名称 类型 描述 threadid text 线程启动时间+线程标识(字符串信息为timestamp.sessionid)。 tid bigint 线程标识。 thrdtype text 线程类型。 contextname text 内存上下文名称。 level smallint 当前上下文在整体内存上下文中的层级。 parent text 父内存上下文名称。 totalsize bigint 当前内存上下文的内存总数,单位Byte。 freesize bigint 当前内存上下文中已释放的内存总数,单位Byte。 usedsize bigint 当前内存上下文中已使用的内存总数,单位Byte;“TempSmallContextGroup”内存上下文中该字段含义为统计计数。 父主题: 其他系统视图
  • 注意事项 须使用CASCADE级联删除依赖用户的对象(除数据库外)。当删除用户的级联对象时,如果级联对象处于锁定状态,则此级联对象无法被删除,直到对象被解锁或锁定级联对象的线程被终止。 在数据库中删除用户时,如果依赖用户的对象在其他数据库中或者依赖用户的对象是其他数据库,请用户先手动删除其他数据库中的依赖对象或直接删除依赖数据库,再删除用户。即DROP USER不支持跨数据库进行级联删除。 在删除用户时,需要先删除该用户拥有的所有对象并且收回该用户在其他对象上的权限,或者通过指定CASCADE级联删除该用户拥有的对象和被授予的权限。
  • 示例 --创建用户jim,登录密码为********。 gaussdb=# CREATE USER jim PASSWORD '********'; --创建用户kim,登录密码为********。 gaussdb=# CREATE USER kim IDENTIFIED BY '********'; --创建用户tom,登录密码为********。 gaussdb=# CREATE USER TOM PASSWORD '**********'; --创建用户TOM,登录密码为********。 gaussdb=# CREATE USER "TOM" PASSWORD '**********'; --如果需要创建具有“创建数据库”权限的用户,则需要加CREATEDB关键字。 gaussdb=# CREATE USER dim CREATEDB PASSWORD '********'; --查看用户dim的权限。 gaussdb=# \du dim List of roles Role name | Attributes | Member of -----------+------------+----------- dim | Create DB | {} (可以看到用户dim具有CREATEDB的权限) --修改用户jim的登录密码。 gaussdb=# ALTER USER jim IDENTIFIED BY '**********' REPLACE '********'; --为用户jim追加CREATEROLE权限。 gaussdb=# ALTER USER jim CREATEROLE; --查看用户jim追加的CREATEROLE权限。 gaussdb=# \du jim List of roles Role name | Attributes | Member of -----------+-------------+----------- jim | Create role | {} --将enable_seqscan的值设置为on, 设置成功后,在下一会话中生效。 gaussdb=# ALTER USER jim SET enable_seqscan TO on; --重置jim的enable_seqscan参数。 gaussdb=# ALTER USER jim RESET enable_seqscan; --锁定jim账户。 gaussdb=# ALTER USER jim ACCOUNT LOCK; --解锁jim账户。 gaussdb=# ALTER USER jim ACCOUNT UNLOCK; --修改用户密码。 gaussdb=# ALTER USER dim WITH PASSWORD '********'; --修改用户名。 gaussdb=# ALTER USER dim RENAME TO lisa; --删除用户。 gaussdb=# DROP USER kim CASCADE; gaussdb=# DROP USER jim CASCADE; gaussdb=# DROP USER lisa CASCADE; gaussdb=# DROP USER TOM CASCADE; gaussdb=# DROP USER "TOM" CASCADE;
  • 参数说明 IF EXISTS 使用该参数时,如果指定的用户不存在,发出一个notice而不是抛出一个错误,故使用该参数可以避免出现报错。 user_name 待删除的用户名。 取值范围:数据库中已存在的用户名。 CASCADE | RESTRICT CASCADE:级联删除依赖用户的对象,并收回授予该用户的权限。 RESTRICT:如果用户还有任何依赖的对象或被授予了其他对象的权限,则拒绝删除该用户(缺省行为)。 在 GaussDB 中,存在一个配置参数enable_kill_query,此参数在配置文件gaussdb.conf中。此参数影响级联删除用户对象的行为: 当参数enable_kill_query为on ,且使用CASCADE模式删除用户时,会自动kill锁定用户级联对象的线程,并删除用户。 当参数enable_kill_query为off,且使用CASCADE模式删除用户时,会等待锁定级联对象的线程结束之后再删除用户。
  • 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
  • 连接数据库(UDS方式) Unix domain socket用于同一主机上不同进程间的数据交换,通过添加junixsocket获取套接字工厂使用。 需要引用的jar包有junixsocket-core-XXX.jar、junixsocket-common-XXX.jar、junixsocket-native-common-XXX.jar。同时需要在URL连接串中添加:socketFactory=org.newsclub.net.unix.AFUNIXSocketFactory$FactoryArg&socketFactoryArg=[path-to-the-unix-socket]。 示例: // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放,使用时解密),确保安全。 // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.util.Properties; public class Test { public static void main(String[] args) { String driver = "com.huawei.gaussdb.jdbc.Driver"; String userName = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); Connection conn; try { Class.forName(driver).newInstance(); Properties properties = new Properties(); properties.setProperty("user", userName); properties.setProperty("password", password); conn = DriverManager.getConnection("jdbc:gaussdb://$ip:$port/postgres?socketFactory=org.newsclub" + ".net.unix" + ".AFUNIXSocketFactory$FactoryArg&socketFactoryArg=/data/tmp/.s.PGSQL.8000", properties); System.out.println("Connection Successful!"); Statement statement = conn.createStatement(); statement.executeQuery("select 1"); } catch (Exception e) { e.printStackTrace(); } } } socketFactoryArg参数配置根据真实路径进行配置,与GUC参数unix_socket_directory的值保持一致。 连接主机名必须设置为“localhost”。 父主题: 基于JDBC开发
  • 注意事项 在非阻塞连接上发送任何命令或数据之后,调用PQflush。如果返回1,则等待套接字变为读或写就绪。如果为写就绪状态,则再次调用PQflush。如果已经读到,调用PQconsumeInput,然后再次调用PQflush。重复,直到PQflush返回0。(必要检查读就绪并使用PQconsumeInput耗尽输入,因为服务器可能会阻止尝试向客户端发送数据(例如NOTICE消息),并且在客户端读取它的数据之前不会读取客户端的数据。)一旦PQflush返回0,等待套接字准备好,然后按照上面描述读取响应。
  • GLOBAL_STAT_SYS_TABLES 显示数据库各节点pg_catalog、information_schema以及pg_toast模式下所有系统表的状态信息(不同节点数据不汇总求和),如表1所示。 表1 GLOBAL_STAT_SYS_TABLES字段 名称 类型 描述 node_name name 节点名称。 relid oid 表的OID。 schemaname name 此表所在的Schema名。 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 估计不活跃行数。 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守护线程分析的次数。 父主题: Object
  • PG_GTT_STATS PG_GTT_STATS视图可用来查看当前会话所有全局临时表的单列统计信息,调用pg_get_gtt_statistics()函数。 表1 PG_GTT_STATS字段 名称 类型 描述 schemaname name schema名称。 tablename name 全局临时表名称。 attname name 属性名称。 inherited boolean 是否统计有继承关系的对象。 null_frac real 该字段中为NULL的记录的比率。 avg_width integer 非NULL记录的平均存储宽度,以字节计算。 n_distinct real 标识全局统计信息中字段里唯一的非NULL数据值的数目。 most_common_vals text[] 高频值列表,按照出现的频率排序。 most_common_freqs real[] 高频值的频率。 histogram_bounds text[] 等频直方图描述列中的数据分布(不包含高频值)。 correlation real 相关系数。 most_common_elems text[] 类型高频值列表,用于数组类型或一些其他类型。 most_common_elem_freqs real[] 类型高频值的频率。 elem_count_histogram real[] 数组类型直方图。 父主题: 其他系统视图
  • backtrace_min_messages 参数说明:控制当产生该设置参数级别相等或更高级别的信息时,会打印函数的堆栈信息到服务器日志文件中。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 该参数作为客户现场问题定位手段使用,且由于频繁的打印函数栈会对系统的开销及稳定性有一定的影响,因此如果需要进行问题定位时,建议避免将backtrace_min_messages的值设置为fatal及panic以外的级别。 取值范围:枚举类型 有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 默认值:panic
  • log_min_messages 参数说明:控制写到服务器日志文件中的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,服务器运行日志中记录的消息就越少。 当client_min_messages和log_min_messages取相同值log时所代表的消息级别不同。部分日志信息的打印需要同时配置该参数与logging_module,即设置该参数打开后可能还需要设置logging_module打开对应模块的日志打印开关。 参数类型:枚举类型 参数单位:无 取值范围:有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 默认值:warning 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。
  • log_min_error_statement 参数说明:控制在服务器日志中记录错误的SQL语句。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型,有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 设置为error,表示导致错误、日志消息、致命错误、panic的语句都将被记录。 设置为panic,表示关闭此特性。 默认值:error
共100000条