华为云用户手册

  • autovacuum_analyze_threshold 参数说明:用于计算触发ANALYZE操作的阈值,计算方式为autovacuum_analyze_threshold+ reltuples(表上元组的个数) * autovacuum_analyze_scale_factor。当表上被删除、插入或更新的记录数超过阈值时才会对这个表执行ANALYZE操作。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647 默认值:50 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。
  • autovacuum_vacuum_scale_factor 参数说明:VACUUM时计算表的规模因子,用于计算执行VACUUM的阈值,计算方式为autovacuum_vacuum_threshold+ reltuples (表上元组的个数)* autovacuum_vacuum_scale_factor。当表上被删除或更新的记录数超过阈值时才会对这个表执行VACUUM操作。 参数类型:浮点型 参数单位:无 取值范围:0.0 ~ 100.0 默认值:0.2 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:该值越大,触发VACUUM的条件就越高,对性能影响越小。
  • autovacuum 参数说明:控制数据库自动清理线程(autovacuum)的启动。自动清理线程运行的前提是将track_counts设置为on。 如果希望系统在故障恢复后,具备自动清理两阶段事务的功能,请将autovacuum设置为on; 当设置autovacuum为on,autovacuum_max_workers为0时,表示系统不会自动进行autovacuum,只会在故障恢复后,自动清理两阶段事务; 当设置autovacuum为on,autovacuum_max_workers大于0时,表示系统不仅在故障恢复后,自动清理两阶段事务,并且还可以自动进行autovacuum。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启数据库自动清理线程。 off:表示关闭数据库自动清理线程。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
  • autoanalyze_timeout 参数说明:设置autoanalyze的超时时间。在对某张表做autoanalyze时,如果该表的analyze时长超过了autoanalyze_timeout,则自动取消该表此次analyze。 参数类型:整型 参数单位:秒(s) 取值范围:0~2147483,0表示不超时。 默认值:300 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:无。
  • autovacuum_mode 参数说明:该参数仅在autovacuum设置为on的场景下生效,它控制autoanalyze和autovacuum的打开情况。 参数类型:枚举类型 参数单位:无 取值范围:analyze、vacuum、mix、none analyze:表示只做autoanalyze。 vacuum:表示只做autovacuum。 mix:表示autoanalyze和autovacuum都做。 none:表示autoanalyze和autovacuum都不做。 默认值:mix 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为默认值。
  • GS_GET_LISTEN_ADDRESS_EXT_INFO GS_GET_LISTEN_ADDRESS_EXT_INFO视图描述了查询当前DN实例扩展IP配置信息。具体使用场景参见gs_get_listen_address_ext_info()。 表1 GS_GET_LISTEN_ADDRESS_EXT_INFO字段 名称 类型 描述 node_name text DN实例名。 host text DN实例侦听IP。 port bigint DN实例侦听的port。 ext_listen_ip text DN实例配置扩展IP。 父主题: 通信
  • 执行没有结果集的语句 执行EXECUTE IMMEDIATE命令示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "CREATE TABLE test1 (...);"; EXEC SQL END DECLARE SECTION; EXEC SQL EXECUTE IMMEDIATE :stmt; EXECUTE IMMEDIATE可以用于不返回结果集的SQL语句,比如:DDL、INSERT、UPDATE和DELETE语句。但不能用这种方式执行检索数据的语句,比如:SELECT语句。 父主题: 执行动态SQL语句
  • boolvector 场景1: 功能说明:数组数据转换为向量数据。 入参类型:anyarray 出参类型:boolvector 代码示例: gaussdb=# SELECT boolvector(ARRAY[1,0,1]); 场景2: 功能说明:boolvector转换,对维度进行检测。 入参1的类型:boolvector 入参2的类型:integer 出参类型:boolvector 代码示例: gaussdb=# SELECT boolvector(boolvector('[1,0,1]'),3);
  • floatvector 功能说明:数组数据转换为向量数据。 场景1: 入参类型:anyarray 出参类型:floatvector 代码示例: gaussdb=# SELECT floatvector(ARRAY[1,2,9.3]); 场景2: 入参1的类型:floatvector 入参2的类型:integer 出参类型:floatvector 代码示例: gaussdb=# SELECT floatvector(floatvector('[1,2,9.3]'),3);
  • gs_vector_index_options 功能说明:显示相关向量索引的超参取值。 入参类型:text 出参类型:text 代码示例: --创建表。 gaussdb=# CREATE TABLE t1 (id int unique,repr floatvector(960)) with (storage_type=astore); 插入数据: gaussdb=# copy t1 from '/data/gist1w.txt' delimiter '^'; 创建索引: gaussdb=# CREATE INDEX test1v on t1 using gsdiskann (repr l2) with (pq_nseg=120,pq_nclus=64,queue_size=120,num_parallels=30,enable_pq=true,using_clustering_for_parallel=false); gaussdb=# SELECT gs_vector_index_options('test1v');
  • + 功能说明:计算两个维度相同的向量按位相加。 左参数类型:floatvector 右参数类型:floatvector 返回值类型:floatvector 代码示例: gaussdb=# SELECT floatvector('[1,1,3,2]') + floatvector('[1,1,3,2]'); gaussdb=# SELECT '[1,2,3,2]'+ floatvector('[1,1,3,2]');
  • - 功能说明:计算两个维度相同的向量按位相减。 左参数类型:floatvector 右参数类型:floatvector 返回值类型:floatvector 代码示例: gaussdb=# SELECT floatvector('[1,1,3,2]') + floatvector('[1,1,3,2]'); gaussdb=# SELECT '[1,2,3,2]'+ floatvector('[1,1,3,2]');
  • = 场景1: 功能说明:判断两个维度相同的向量是否相等。 左参数类型:floatvector 右参数类型:floatvector 返回值类型:BOOLEAN 代码示例: gaussdb=# SELECT floatvector('[1,1,3,2]') = floatvector('[1,1,3,2]'); gaussdb=# SELECT '[1,2,3,2]'= floatvector('[1,1,3,2]'); 场景2: 功能说明:判断两个维度相同的布尔向量是否一致。 左参数类型:boolvector 右参数类型:boolvector 返回值类型:BOOLEAN 代码示例: gaussdb=# SELECT boolvector('[1,0,1,0]') = boolvector('[1,1,1,0]'); gaussdb=# SELECT '[1,0,1,0]' = boolvector('[1,1,1,0]');
  • LOCAL_THREADPOOL_STATUS LOCAL_THREADPOOL_STATUS视图显示线程池下工作线程及会话的状态信息,如表1所示。该视图仅在线程池开启(enable_thread_pool=on)时生效。 表1 LOCAL_THREADPOOL_STATUS字段 名称 类型 描述 node_name text 数据库进程名称。 group_id integer 线程池组ID。 bind_numa_id integer 该线程池组绑定的NUMA ID。 bind_cpu_number integer 该线程池组绑定的CPU信息。如果未绑定CPU,该值为NULL。 listener integer 该线程池组的Listener线程数量。 worker_info text 线程池中线程相关信息,包括以下信息: default:该线程池组中的初始线程数量。 new:该线程池组中新增线程的数量。 expect:该线程池组中预期线程的数量。 actual:该线程池组中实际线程的数量。 idle:该线程池组中空闲线程的数量。 pending:该线程池组中等待线程的数量。 session_info text 线程池中会话相关信息,包括以下信息: total:该线程池组中所有的会话数量。 waiting:该线程池组中等待调度的会话数量。 running:该线程池中正在执行的会话数量。 idle:该线程池组中空闲的会话数量。 stream_info text stream池相关信息,包含以下信息: total:该stream池组中所有的线程数量。 running:该stream池中正在执行的线程数量。 idle:该stream池组中空闲的线程数量。 父主题: Session/Thread
  • PG_STATIO_ALL_INDEXES PG_STATIO_ALL_INDEXES视图可用来查询当前数据库中的每个索引行的信息,显示特定索引的I/O的统计信息。具体字段信息如表1所示。 表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 索引命中缓存数。 父主题: 其他系统视图
  • PG_ATTRDEF PG_ATTRDEF系统表存储列的默认值。 表1 PG_ATTRDEF字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 adrelid oid 该列的所属表。 adnum smallint 该列的数目。 adbin pg_node_tree 字段缺省值或生成表达式的内部表现形式。 adsrc text 字段缺省值或生成表达式的人类可读的表现形式。 adgencol "char" 标识该列是否为生成列。取值为's'表示该列为生成列,取值为'\0'表示该列为普通列,默认值为'\0'。 adbin_on_update pg_node_tree 字段on update current_timestamp属性表达式的内部表现形式。 adsrc_on_update text 可读on update current_timestamp属性表达式的内部表现形式。 父主题: 其他系统表
  • ecpg预处理以及编译执行 准备嵌入式SQL-C源程序,以.pgc为后缀名,ecpg负责将其转换成可被编译器编译的C语言程序。 生成的C语言程序被编译器编译为可执行文件,运行该可执行文件实现客户端程序访问数据库。示例请参见常用示例章节。 ecpg预处理以及编译处理过程 预处理:ecpg -I $GAUSSHOME/include -o test.c test.pgc ecpg预处理的参数选项如下: ecpg [OPTION]... 其中OPTION参数选项如下: -o OUTFILE:预处理嵌入式SQL-C程序将结果写入OUTFILE,OUTFILE为C语言文件。 -I DIRECTORY:头文件的搜索路径。 -c:预处理嵌入式SQL-C程序自动生成C语言文件。 --version:查看ecpg当前版本。 编译:gcc -I $GAUSSHOME/include/ecpg -I $GAUSSHOME/include -I $GAUSSHOME/include/gaussdb/server/ -L $GAUSSHOME/lib -lecpg -lrt -lpq -lpgtypes -lpthread test_ecpg.c -o test_ecpg 执行:./test ecpg作为编译预处理工具,若在预处理或编译过程中出现找不到头文件或者函数实现的报错信息,可以根据需要指定头文件,或者链接动态库。 ecpg需要gcc、ld等编译预处理工具,建议gcc使用7.3.0版本。 使用ecpg开发应用程序所依赖的其他动态库和头文件,常见的位于$GAUSSHOME/include/libpq, $GAUSSHOME/include。 编译过程中常见的动态库依赖:-lpq、-lpq_ce、-lpthread。若开发过程中需要使用libpq通信库,则需要连接-lpq和-lpq_ce。若开发过程中需要使用多线程连接,则需要连接-lpthread。 父主题: 基于ecpg开发
  • PG_EXT_STATS PG_EXT_STATS视图可用来访问存储在PG_STATISTIC_EXT表里面的扩展统计信息。扩展统计信息目前包括多列统计信息。 表1 PG_EXT_STATS字段 名称 类型 引用 描述 schemaname name PG_NAMESPACE.nspname 表的模式名。 tablename name PG_CLASS.relname 表名。 attname int2vector PG_STATISTIC_EXT.stakey 统计信息扩展的多列信息。 inherited boolean - 暂不支持继承表,该字段为false。 null_frac real - 记录中字段组合为空的百分比。 avg_width integer - 字段组合记录以字节记的平均宽度。 n_distinct real - 如果大于零,表示字段组合中独立数值的估计数目。 如果小于零,表示独立数值的数目除以行数后乘-1得到的负数。比如,-1表示一个字段组合中独立数值的个数和行数相同。 用负数形式是因为ANALYZE认为独立数值的数目是随着表增长而增长; 正数的形式用于在字段看上去好像有固定的可能值数目的情况下。 如果等于零,表示独立数值的数目未知。 n_dndistinct real - 标识dn1上字段组合中非NULL的独立数值的数目。 如果大于零,表示独立数值的实际数目。 如果小于零,表示独立数值的数目除以行数后乘-1得到的负数。比如,一个字段组合的数值平均出现概率为两次,则可以表示为n_dndistinct=-0.5。 如果等于零,表示独立数值的数目未知。 most_common_vals anyarray - 一个字段组合里最常用数值的列表。如果该字段组合不存在最常用数值,则为NULL。本列保存的多列常用数值均不为NULL。 most_common_freqs real[] - 一个记录字段组合里最常用数值的出现频率的列表,频率由每个数值出现的次数除以行数得到。如果most_common_vals取值为NULL,则该字段取值也为NULL。 most_common_vals_null anyarray - 一个字段组合里最常用数值的列表。如果该字段组合不存在最常用数值,则为NULL。本列保存的多列常用数值中至少有一个值为NULL。 most_common_freqs_null real[] - 一个记录字段组合里最常用数值的出现频率的列表,频率由每个数值出现的次数除以行数得到。如果most_common_vals_null取值为NULL,则该字段取值也为NULL。 histogram_bounds anyarray - 直方图的边界值列表。 partitionname name PG_PARTITION.relname 分区表的一级分区名。对于非分区表,该字段为空 subpartitionname name PG_PARTITION.relname 分区表的二级分区名。对于非分区表或一级分区表,该字段为空。 父主题: 其他系统视图
  • Database Stat Database Stat列名称及描述如表1所示。 表1 Database Stat报表主要内容 列名称 描述 DB Name 数据库名称。 Backends 连接到该数据库的后端数。 Xact Commit 此数据库中已经提交的事务数。 Xact Rollback 此数据库中已经回滚的事务数。 Blks Read 在这个数据库中读取的磁盘块的数量。 Blks Hit 高速缓存中已经发现的磁盘块的次数。 Tuple Returned 顺序扫描的行数。 Tuple Fetched 随机扫描的行数。 Tuple Inserted 通过数据库查询插入的行数。 Tuple Updated 通过数据库查询更新的行数。 Tup Deleted 通过数据库查询删除的行数。 Conflicts 由于数据库恢复冲突取消的查询数量。 Temp Files 通过数据库查询创建的临时文件数量。 Temp Bytes 通过数据库查询写入临时文件的数据总量。 Deadlocks 在该数据库中检索的死锁数。 Blk Read Time 通过数据库后端读取数据文件块花费的时间,以毫秒计算。 Blk Write Time 通过数据库后端写入数据文件块花费的时间,以毫秒计算。 Stats Reset 重置当前状态统计的时间。 父主题: WDR报告信息介绍
  • PGXC_PREPARED_XA CTS PGXC_PREPARED_XACTS视图显示当前处于prepared阶段的两阶段事务。只有system admin和monitor admin用户有权限查看。具体字段信息如表1所示。 表1 PGXC_PREPARED_XACTS字段 名称 类型 描述 pgxc_prepared_xact text 当前处于prepared阶段的两阶段事务。 父主题: 其他系统视图
  • GaussDB 都有哪些通配符,如何使用? 答: GaussDB数据库 支持以下三种通配符: %:表示任意数量的字符,包括0个,用于LIKE和NOT LIKE语句中。 _:表示一个字符,用于LIKE和 NOT LIKE语句中。 *:表示任意数量字符,包括0个,在部分元命令中使用。 示例: --任意数量字符的通配符使用,查询tbl_test表中以col1字段以ab开头任意多个字符结尾的数据。 gaussdb=# SELECT * FROM tbl_test WHERE col1 LIKE 'ab%'; --一个字符的通配符使用,查询tbl_test表中col1字段以a开头b结尾中间任意单个字符串的数据。 gaussdb=# SELECT * FROM tbl_test WHERE col1 LIKE 'a_b'; --查询所有以tbl开头的表。 gaussdb=# \dt tbl* 父主题: FAQ
  • SQL发展简史 SQL发展简史如下: 1986年,ANSI X3.135-1986,ISO/IEC 9075:1986,SQL-86 1989年,ANSI X3.135-1989,ISO/IEC 9075:1989,SQL-89 1992年,ANSI X3.135-1992,ISO/IEC 9075:1992,SQL-92(SQL2) 1999年,ISO/IEC 9075:1999,SQL:1999(SQL3) 2003年,ISO/IEC 9075:2003,SQL:2003(SQL4) 2011年,ISO/IEC 9075:200N,SQL:2011(SQL5)
  • 什么是SQL SQL是用于访问和处理数据库的标准计算机语言。 SQL提供了各种任务的语句,包括: 查询数据。 在表中插入、更新和删除行。 创建、替换、更改和删除对象。 控制对数据库及其对象的访问。 保证数据库的一致性和完整性。 SQL语言由用于处理数据库和数据库对象的命令和函数组成。该语言还会强制实施有关数据类型、表达式和文本使用的规则。因此在SQL参考章节,除了SQL语法参考外,还介绍了有关数据类型、表达式、函数和操作符等信息。
  • DB_SOURCE DB_SOURCE视图显示当前用户可访问的存储过程、函数、触发器的定义信息。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 DB_SOURCE字段 名称 类型 描述 owner name 对象的所有者。 name name 对象名字。 type name 对象类型:function、procedure、trigger。 line numeric 此行在定义信息中的行号。 text text 存储对象的文本来源。 origin_con_id character varying(256) 暂不支持,值为0。 父主题: 其他系统视图
  • 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 标识当前作业是在哪一个数据库主节点上创建和执行。 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 最新一次执行任务报错信息。 父主题: 其他系统表
  • ADM_DEPENDENCIES ADM_DEPENDENCIES视图显示数据库中的类型、表、视图、存储过程、函数、触发器之间的依赖关系。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_DEPENDENCIES字段 名称 类型 描述 owner name 对象的所有者。 name name 对象的名称。 type character varying(18) 对象的类型。 referenced_owner name 被引用对象的所有者。 referenced_name name 被引用对象的名称。 referenced_type character varying(18) 被引用对象的类型。 referenced_link_name character varying(128) 暂不支持,值为NULL。 dependency_type character varying(4) 暂不支持,值为NULL。 父主题: 其他系统视图
  • 参数说明 relname为查询中表table的名字,表有别名时,需要优先使用别名alias,此时relname=alias。当表名中有特殊符号,比如“@”、“.”时,relname需要用""括起来,以避免和查询块和schema名的声明重合。比如表名relnametest@1,需要写做"relnametest@1"。 schema为表所处的schema,可缺省,缺省时hint不区分schema对relname进行查找。 queryblock为表所处的queryblock,可缺省,缺省时hint不区分queryblock对relname进行查找。
  • Memory Statistics Memory Statistics指标名称及描述如表1所示。 表1 Memory Statistics报表主要内容 指标名称 描述 shared_used_memory 已经使用共享内存大小(MB)。 max_shared_memory 最大共享内存(MB)。 process_used_memory 进程已经使用内存(MB)。 max_process_memory 最大进程内存(MB)。 父主题: WDR报告信息介绍
  • PG_STAT_DATABASE PG_STAT_DATABASE视图显示GaussDB中每个数据库的统计信息。 表1 PG_STAT_DATABASE字段 名称 类型 描述 datid oid 数据库的OID。 datname name 数据库的名称。 numbackends integer 当前连接到该数据库的后端数。 这是该视图中唯一一个返回当前状态值的字段,其他字段返回的都是自上次重置之后的累计值。 xact_commit bigint 该数据库中已经提交的事务数。 xact_rollback bigint 该数据库中已经回滚的事务数。 blks_read bigint 在该数据库中读取的磁盘块的数量。 blks_hit bigint 已在缓冲区缓存中找到磁盘块的次数,因此不需要读取(只统计在缓冲区缓存找到的,不包括在操作系统的文件系统缓存中找到的)。 tup_returned bigint 通过数据库查询返回的行数。 tup_fetched bigint 通过数据库查询抓取的行数。 tup_inserted bigint 通过数据库查询插入的行数。 tup_updated bigint 通过数据库查询更新的行数。 tup_deleted bigint 通过数据库查询删除的行数。 conflicts bigint 由于数据库恢复冲突取消的查询数量(只在备用服务器发生的冲突)。请参见PG_STAT_DATABASE_CONFLICTS获取更多信息。 temp_files bigint 通过数据库查询创建的临时文件数量。计算所有临时文件, 无论该临时文件为什么创建(比如排序或者哈希), 也不管log_temp_files参数如何设置。 temp_bytes bigint 通过数据库查询写入临时文件的数据总量。计算所有临时文件,无论该临时文件为什么创建,也不管log_temp_files参数如何设置。 deadlocks bigint 该数据库中检测到的死锁数。 blk_read_time double precision 通过数据库后端读取数据文件块花费的时间,以毫秒计算。 blk_write_time double precision 通过数据库后端写入数据文件块花费的时间,以毫秒计算。 stats_reset timestamp with time zone 当前状态统计被重置的时间。 父主题: 其他系统视图
  • hll_default_log2sparse 参数说明:该参数可以用来设置从Sparse模式到Full模式的默认阈值大小。 参数类型:整型 参数单位:无 取值范围:0~14。0表示跳过Explicit模式,取1~14表示在基数到达2hll_default_log2sparse时切换模式。 默认值:12 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:设置为默认值,可以根据实际业务需要进行调整。
共100000条