华为云用户手册

  • PGXC_VARIABLE_INFO PGXC_VARIABLE_INFO视图用于查询集群中所有节点的xid、oid的状态。 表1 PGXC_VARIABLE_INFO字段 名称 类型 描述 node_name text 节点名称。 nextOid oid 该节点下一次生成的OID。 nextXid xid 该节点下一次生成的事务号。 oldestXid xid 该节点最早的事务号。 xidVacLimit xid 强制autovacuum的临界点。 oldestXidDB oid 该节点datafrozenxid最小的数据库OID。 lastExtendCSNLogpage integer 最后一次扩展csnlog的页面号。 startExtendCSNLogpage integer csnlog扩展的起始页面号。 nextCommitSeqNo integer 该节点下次生成的csn号。 latestCompletedXid xid 该节点提交或者回滚后节点上的最新事务号。 startupMaxXid xid 该节点关机前的最后一个事务号。 父主题: 系统视图
  • DBA_CONSTRAINTS DBA_CONSTRAINTS视图存储关于数据库表中约束的信息。需要有系统管理员权限才可以访问。 名称 类型 描述 constraint_name vcharacter varying(64) 约束名。 constraint_type text 约束类型。 c表示检查约束。 f表示外键约束。 p表示主键约束。 u表示唯一约束。 table_name character varying(64) 约束相关的表名。 index_owner character varying(64) 约束相关的索引的所有者(只针对唯一约束和主键约束)。 index_name character varying(64) 约束相关的索引名(只针对唯一约束和主键约束)。 父主题: 系统视图
  • ALL_CONS_COLUMNS ALL_CONS_COLUMNS视图存储当前用户可访问的约束字段的信息。 表1 ALL_CONS_COLUMNS字段 名称 类型 描述 table_name character varying(64) 约束相关的表名。 column_name character varying(64) 约束相关的列名。 constraint_name character varying(64) 约束名。 position smallint 表中列的位置。 父主题: 系统视图
  • USER_SYNONYMS USER_SYNONYMS视图存储当前用户可访问的同义词信息。 表1 USER_SYNONYMS字段 名称 类型 描述 schema_name text 同义词所属模式名。 synonym_name text 同义词的名称。 table_owner text 关联对象的所有者。 table_schema_name text 关联对象所属模式名。 table_name text 关联对象名。 父主题: 系统视图
  • PGXC_WLM_WORKLOAD_RECORDS PGXC_WLM_WORKLOAD_RECORDS视图显示当前用户在每个CN上执行作业时在CN上的状态信息。需要有系统管理员权限或预置角色gs_role_read_all_stats权限才可以访问此视图。该视图仅在动态负载功能开启,即enable_dynamic_workload为on时有效。 表1 PGXC_WLM_WORKLOAD_RECORDS字段 名称 类型 描述 node_name text 作业执行所在的CN的名称。 thread_id bigint 后端线程ID。 processid integer 线程的lwpid。 timestamp bigint 语句执行的开始时间。 username name 登录到该后端的用户名。 memory integer 语句所需的内存大小。 active_points integer 语句在资源池上消耗的资源点数。 max_points integer 资源在资源池上的最大资源数。 priority integer 作业的优先级。 resource_pool text 作业所在资源池。 status text 作业执行的状态,包括: pending: 阻塞状态。 running:执行状态。 finished:结束状态。 aborted:终止状态。 unkown:未知状态。 control_group text 作业所使用的Cgroups enqueue text 作业的排队信息,包括: GLOBAL:全局排队。 RESPOOL:资源池排队。 ACTIVE:不排队。 query text 正在执行的语句。 父主题: 系统视图
  • DBA_SYNONYMS DBA_SYNONYMS视图存储关于数据库下的所有同义词信息。需要有系统管理员权限才可以访问。 表1 DBA_SYNONYMS字段 名称 类型 描述 owner text 同义词的所有者。 schema_name text 同义词所属模式名。 synonym_name text 同义词的名称。 table_owner text 关联对象的所有者。 table_schema_name text 关联对象所属模式名。 table_name text 关联对象名。 父主题: 系统视图
  • PG_ENUM PG_ENUM系统表包含显示每个枚举类型值和标签的记录。给定枚举类型的内部表示实际上是PG_ENUM里面相关行的OID。 表1 PG_ENUM字段 名称 类型 引用 描述 oid oid - 行标识符(隐藏属性,必须明确选择才会显示)。 enumtypid oid PG_TYPE.oid 包含此枚举值的pg_type项的OID。 enumsortorder real - 此枚举值在其枚举类型中的排序位置。 enumlabel name - 此枚举值的文本标签。 PG_ENUM行的OID值遵循一种特殊规则:OID的数值被保证按照其枚举类型一样的排序顺序排序。即如果两个偶数OID属于同一枚举类型,那么较小的OID必然具有较小enumsortorder值。奇数OID不需要遵循排序顺序。这种规则使得枚举比较例程在很多常见情况下可以避免系统目录查找。创建和修改枚举类型的例程尝试尽可能地为枚举值分配偶数OID。 当一个枚举类型被创建后,其成员会被分配排序顺序位置1到n。但是后面增加的成员可能会分配负值或者分数值的enumsortorder。对于这些值的唯一要求是它们必须被正确的排序且在每个枚举类型中保持唯一。 父主题: 系统表
  • PG_TS_PARSER PG_TS_PARSER系统表包含定义文本解析器的项。解析器负责分割输入文本为词位,并且为每个词位分配标记类型。因为解析器必须通过C语言级别的函数实现,所以新解析器必须由数据库系统管理员创建。 表1 PG_TS_PARSER字段 名字 类型 引用 描述 oid oid - 行标识符(隐藏属性,必须明确选择才会显示)。 prsname name - 文本搜索解析器名称。 prsnamespace oid PG_NAMESPACE.oid 解析器所在的命名空间的OID。 prsstart regproc PG_PROC.oid 解析器的启动函数的OID。 prstoken regproc PG_PROC.oid 解析器的下一个标记函数的OID。 prsend regproc PG_PROC.oid 解析器的关闭函数的OID。 prsheadline regproc PG_PROC.oid 解析器的标题函数的OID。 prslextype regproc PG_PROC.oid 解析器的lextype函数的OID。 父主题: 系统表
  • PG_QUERYBAND_ACTION PG_QUERYBAND_ACTION视图显示query_band关联行为和次序。 表1 PG_QUERYBAND_ACTION字段 名称 类型 描述 qband text query_band键值对。 respool_id oid query_band关联资源池OID。 respool text query_band关联资源池名。 priority text query_band关联队列内优先级。 qborder integer query_band搜索次序。 父主题: 系统视图
  • PG_TOTAL_MEMORY_DETAIL PG_TOTAL_MEMORY_DETAIL视图显示某个数据库节点内存使用情况。 表1 PG_TOTAL_MEMORY_DETAIL字段 名称 类型 描述 nodename text 节点名称。 memorytype text 内存的名称,包括以下几种: max_process_memory:GaussDB(DWS)集群实例所占用的内存大小。 process_used_memory:GaussDB(DWS)进程所使用的内存大小。 max_dynamic_memory:最大动态内存。 dynamic_used_memory:已使用的动态内存。 dynamic_peak_memory:内存的动态峰值。 dynamic_used_shrctx:最大动态共享内存上下文。 dynamic_peak_shrctx:共享内存上下文的动态峰值。 max_shared_memory:最大共享内存。 shared_used_memory:已使用的共享内存。 max_cstore_memory:列存所允许使用的最大内存。 cstore_used_memory:列存已使用的内存大小。 max_sctpcomm_memory:通信库所允许使用的最大内存。 sctpcomm_used_memory:通信库已使用的内存大小。 sctpcomm_peak_memory:通信库的内存峰值。 max_topsql_memory:TopSQL记录历史作业监控信息允许使用的最大内存。 topsql_used_memory:TopSQL记录历史作业监控信息已使用的内存大小。 topsql_peak_memory:TopSQL记录历史作业监控信息的内存峰值。 other_used_memory:其他已使用的内存大小。 gpu_max_dynamic_memory:GPU内存最大值。 gpu_dynamic_used_memory:当前GPU可用内存和当前临时GPU内存之和。 gpu_dynamic_peak_memory:GPU内存使用的最大内存。 pooler_conn_memory:pooler连接占用内存大小。 pooler_freeconn_memory:pooler空闲连接占用的内存大小。 storage_compress_memory:列存压缩和解压缩使用的内存大小。 udf_reserved_memory:为UDF Worker进程预留的内存大小。 mmap_used_memory:mmap使用的内存大小。 memorymbytes integer 内存使用的大小,单位为MB。 父主题: 系统视图
  • GS_STAT_DB_CU GS_STAT_DB_CU视图查询集群各个节点,每个数据库的CU命中情况。可以通过gs_stat_reset()进行清零。 表1 GS_STAT_DB_CU字段 名称 类型 描述 node_name1 text 节点名称。 db_name text 数据库名称。 mem_hit bigint 内存命中次数。 hdd_sync_read bigint 硬盘同步读次数。 hdd_asyn_read bigint 硬盘异步读次数。 父主题: 系统视图
  • 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 通过使用索引的简单索引扫描抓取的活表行数。 父主题: 系统视图
  • failed_login_attempts 参数说明:在任意时候,如果输入密码错误的次数达到failed_login_attempts则当前账户被锁定,password_lock_time秒后被自动解锁。 例如,登录时输入密码失败,ALTER USER时修改密码失败等。 参数类型:SIGHUP 取值范围:整型,0~1000 0表示自动锁定功能不生效。 正整数表示当错误密码次数达到failed_login_attempts设定的值时,当前账户将被锁定。 默认值:10 failed_login_attempts和password_lock_time必须都为正数时锁定和解锁功能才能生效。 failed_login_attempts会与客户端SSL连接模式共同决定用户的密码错误次数。当PGSSLMODE取值是allow或prefer时,客户的一次密码连接请求会生成两次连接请求:一次是尝试SSL连接,另一次是尝试非SSL连接。此时,用户感知到的密码错误次数是failed_login_attempts除以2。
  • password_encryption_type 参数说明:该字段决定采用何种加密方式对用户密码进行加密存储。 参数类型:SIGHUP 取值范围:整型,0、1、2 表1 取值说明 取值 密码存储格式 支持使用驱动 0 采用MD5方式对密码加密,密码存储方式为MD5加密后密文。 支持GaussDB自研驱动及开源驱动。 1 采用SHA256方式对密码加密,兼容postgres客户端的MD5用户认证方式。 密码存储方式为MD5+SHA256综合后的密文。 支持GaussDB自研驱动及开源驱动。 2 采用SHA256方式对密码加密,密码存储方式为SHA256加密后密文。 支持GaussDB自研驱动。 MD5为不安全的加密算法,不建议用户使用。 在password_encryption_type参数值为2时创建的用户,密码已使用SHA256算法保存,此时切换参数值并不会改变数据库内的密码存储方式,因此,这种情况下若使用MD5的开源客户端可能仍无法连接。 password_encryption_type参数值为1时,pg_hba认证方式设置为MD5或者SHA256都会进行两种加密方式的判断,确保功能兼容。 默认值:1
  • session_timeout 参数说明:表明与服务器建立连接后,不进行任何操作的最长时间。 参数类型:USERSET 取值范围:整型,0-86400,最小单位为秒(s),0表示关闭超时设置。 默认值:10min GaussDB(DWS) gsql客户端中有自动重连机制,所以针对初始化用户本地连接,超时后gsql表现的现象为断开后重连。 pooler连接池到其它CN和DN的连接,不受session_timeout参数控制。
  • ssl_ciphers 参数说明:指定SSL支持的加密算法列表。 参数类型:POSTMASTER 取值范围:字符串,如果指定多个加密算法,加密算法之间需要以分号分割。 默认值:ALL 配置参数ssl_ciphers的默认值为ALL,表示支持下列所有加密算法。如果对加密算法没有特殊要求,建议用户使用该默认值。 TLS1_3_RFC_AES_128_GCM_SHA256 TLS1_3_RFC_AES_256_GCM_SHA384 TLS1_3_RFC_CHACHA20_POLY1305_SHA256 TLS1_3_RFC_AES_128_CCM_SHA256 TLS1_3_RFC_AES_128_CCM_8_SHA256 SSL连接认证目前只支持配置标准协议TLS1.3的加密算法,TLS1.3的性能更优、安全性更好。同时也兼容与标准协议TLS1.2的客户端之间的SSL连接认证。
  • password_lock_time 参数说明:该参数指定账户被锁定后自动解锁的时间。 参数类型:SIGHUP password_lock_time和failed_login_attempts必须都为正数时锁定和解锁功能才能生效。 参数password_lock_time的整数部分表示天数,小数部分可以换算成时、分、秒。 取值范围:浮点型,0~365,单位为天。 0表示密码验证失败时,自动锁定功能不生效。 正数表示账户被锁定后,当锁定时间超过password_lock_time设定的值时,账户将会被自行解锁。 默认值:1
  • ssl_renegotiation_limit 参数说明:指定在会话密钥重新协商之前,通过SSL加密通道可以传输的流量。这个重新协商流量限制机制可以减少攻击者针对大量数据使用密码分析法破解密钥的几率,但是也带来较大的性能损失。流量是指发送和接收的流量总和。 参数类型:USERSET 参数建议保持默认设置,即禁用重协商机制。不建议通过gs_guc工具或其他方式直接在postgresql.conf文件中设置ssl_renegotiation_limit参数,即使设置也不会生效。 取值范围:整型,0~INT_MAX,单位为KB。其中0表示禁用重新协商机制。 默认值:0
  • password_reuse_max 参数说明:在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用次数检查。 参数类型:SIGHUP 修改密码时会检查配置参数password_reuse_time和password_reuse_max。 当password_reuse_time和password_reuse_max都为正数时,只要满足其中任一个,即可认为密码可以重用。 当password_reuse_time为0时,表示不限制密码重用天数,仅限制密码重用次数。 当password_reuse_max为0时,表示不限制密码重用次数,仅限制密码重用天数。 当password_reuse_time和password_reuse_max都为0时,表示不对密码重用进行限制。 取值范围:整型,0~1000 0表示不检查密码可重用次数。 正整数表示新密码不能为该值指定的次数内使用过的密码。 默认值:0
  • password_reuse_time 参数说明:在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用天数检查。 参数类型:SIGHUP 修改密码时会检查配置参数password_reuse_time和password_reuse_max。 当password_reuse_time和password_reuse_max都为正数时,只要满足其中任一个,即可认为密码可以重用。 当password_reuse_time为0时,表示不限制密码重用天数,仅限制密码重用次数。 当password_reuse_max为0时,表示不限制密码重用次数,仅限制密码重用天数。 当password_reuse_time和password_reuse_max都为0时,表示不对密码重用进行限制。 取值范围:浮点型,0~3650,单位为天。 0表示不检查密码可重用天数。 正数表示新密码不能为该值指定的天数内使用过的密码。 默认值:60
  • plan_cache_mode 参数说明:标识在prepare语句中,选择生成执行计划的策略。 参数类型:USERSET 取值范围:枚举类型 auto表示按照默认的方式选择custom plan或者generic plan。 force_generic_plan表示强制走generic plan。 force_custom_plan表示强制走custom plan。 此参数只对prepare语句生效,一般用在prepare语句中参数化字段存在比较严重的数据倾斜的场景下。 custom plan是指对于preapre语句,在执行execute的时候,把execute语句中的参数嵌套到语句之后生成的计划。custom plan会根据execute语句中具体的参数生成计划,这种方案的优点是每次都按照具体的参数生成优选计划,执行性能比较好;缺点是每次执行前都需要重新生成计划,存在大量的重复的优化器开销。 generic plan是指对于preapre语句生成计划,该计划策略会在执行execute语句的时候把参数bind到plan中,然后执行计划。这种方案的优点是每次执行可以省去重复的优化器开销;缺点是当bind参数字段上数据存在倾斜时该计划可能不是最优的,部分bind参数场景下执行性能较差。 默认值:auto
  • max_streams_per_query 参数说明:控制查询计划中Stream节点的数目。(该参数仅8.1.1及以上集群版本支持) 参数类型:SUSET 取值范围:整型,-1~10000 -1,表示查询计划中Stream节点数目无限制。 0~10000,表示查询计划中Stream节点数目超过设定值后报错,查询计划不会被执行。 此参数只控制DN上的Stream节点,不考虑CN上的Gather节点。 此参数不影响Explain查询计划,但是对Explain analyze和Explain performance有影响。 默认值:-1
  • enable_agg_limit_opt 参数说明:标识是否对select distinct col from table limit N场景优化,其中N小于16384时生效, table为列存表。该参数仅8.2.0.101及以上集群版本支持。 参数类型:USERSET 取值范围:布尔型 on表示开启该优化。开启后可保证查询结果来自不同DN,且各个DN无需全部建立全量hash表,可显著提升查询性能。 off表示关闭该优化。 默认值:off
  • hashjoin_spill_strategy 参数说明:选择hashjoin下盘策略。(该参数8.1.2及以上版本支持) 参数类型:USERSET 取值范围:整型,0~6 0:当内表较大且无法在数据库可用内存放下所有数据时,会将数据划分成不同的子分区,直到多次划分后无法分开且仍无法在内存放下所有数据时,尝试外表是否可以放到可用内存中建立哈希表。若外表可以放到可用内存中建立哈希表,则执行HashJoin。反之,则执行NestLoop。 1:当内表较大且无法在数据库可用内存放下所有数据时,会将数据划分成不同的子分区,直到多次划分后无法分开且仍无法在内存放下所有数据时,尝试外表是否可以放到可用内存中建立哈希表。如果内外表均很大,强制执行HashJoin。 2:当内表较大,并且多次下盘无法分开时,强制执行HashJoin。 3:当内表较大,并且多次下盘无法分开时,尝试外表是否可以放到数据库可用内存建立哈希表。如果内外表均很大,则报错。 4:当内表较大,并且多次下盘无法分开时,则报错。 5:当内表较大且无法在数据库可用内存放下所有数据时,如果外表数据可以放到内存中,则使用外表建立哈希表执行HashJoin。如果外表数据无法存放到内存中,则将数据划分成不同的子分区,直到内外表多次划分均无法分开时,执行NestLoop。 6:当内表较大且无法在数据库可用内存放下所有数据时,如果外表数据可以放到内存中,则使用外表建立哈希表执行HashJoin。如果外表数据无法存放到内存中,则将数据划分成不同的子分区,直到内外表多次划分均无法分开时,强制执行HashJoin。 此参数只对向量化HashJoin生效。 对于数据distinct值很小且数据量很大的场景,可能出现无法下盘导致使用内存过大产生内存不受控的问题。 取值0时通过尝试内外表交换或者Nestloop可以避免出现此类内存不受控问题。 执行Nestloop可能造成某些场景性能劣化。遇到此种场景,该参数可取值1、2、6强制执行HashJoin。 取值0对向量化Full Join不生效,行为与取值1相同。只尝试外表是否可建立哈希表,不执行NestLoop。 取值5和6相对于取值0和1的优势是如果内表数据量大到无法直接放于可用内存中,但是外表可以,则直接使用外表进行Hashjoin,减少后续多次下盘划分数据的时间消耗。当外表数据distinct较少时,使用外表建立哈希表可能导致性能劣化。此时可以将参数取值调整到0或者1。 默认值:0
  • expand_hashtable_ratio 参数说明:控制Hash Agg和Hash Join算子执行过程中hash表的大小扩大比例。 参数类型:USERSET 取值范围:浮点型,0, 0.5~10 默认值设置为0时表示hash表大小会根据当前内存进行自适应扩展。 默认值设置为0.5~10之间时,显式的是指定hash表扩大的倍数,通常hash表越大性能越好,但会占用更多内存空间,在内存不足场景可能造成数据提前下盘,带来性能劣化。 默认值:0
  • stream_ctescan_max_estimate_mem 参数说明:当enable_stream_ctescan开启时,控制CTE的最大估算内存值。该参数需与stream_ctescan_refcount_threshold共同使用。当CTE的估算内存大于stream_ctescan_max_estimate_mem且引用次数小于stream_ctescan_refcount_threshold时,将使用inline方式执行;反之,则使用sharescan方式执行。该参数仅8.2.1及以上集群版本支持。 参数类型:SUSET 取值范围:整型,32 * 1024(32MB)~INT_MAX,单位KB 默认值:256MB
  • stream_ctescan_refcount_threshold 参数说明:当enable_stream_ctescan开启时,控制CTE的最大引用次数。该参数需与stream_ctescan_max_estimate_mem共同使用。当CTE的估算内存大于stream_ctescan_max_estimate_mem且引用次数小于stream_ctescan_refcount_threshold时,将使用inline方式执行;反之,则使用share scan方式执行。该参数仅8.2.1及以上集群版本支持。 参数类型:SUSET 取值范围:整型,0~INT_MAX 默认值:4 该参数仅在取值大于0时生效,取值为0时仅依赖stream_ctescan_max_estimate_mem控制inline行为。
  • inlist_rough_check_threshold 参数说明:当enable_csqual_pushdown开启时、过滤条件为IN进行rough check条件下推时,控制IN条件中值的个数的最大值。IN过滤条件中值的个数超过该参数时,将获取IN条件中值的最大/最小值进行条件下推。该参数仅8.2.0.101及以上集群版本支持。 参数类型:SUSET 取值范围:整型,0~10000 默认值:100 如果IN条件在表的单列分布列上进行,可以在DN进行值的过滤,此时IN条件中值的个数的最大值为inlist_rough_check_threshold的DN倍。
  • constraint_exclusion 参数说明:控制查询优化器使用表约束查询的优化。 参数类型:USERSET 取值范围:枚举类型 on表示检查所有表的约束。 off表示不检查约束。 partition表示只检查继承的子表和UNION ALL子查询。 当constraint_exclusion为on,优化器用查询条件和表的CHECK约束比较,并且在查询条件和约束冲突的时候忽略对表的扫描。 默认值:partition 目前, constraint_exclusion缺省被打开,通常用来实现表分区。为所有的表打开它时,对于简单的查询强加了额外的规划,并且对简单查询没有什么好处。如果不用分区表,可以关掉它。
  • enable_extrapolation_stats 参数说明:标识是否允许基于历史统计信息使用推理估算的逻辑。使用该逻辑对于未及时收集统计信息的表可以增大估算准确的可能性,但也存在错误推理导致估算过大的可能性。 参数类型:USERSET 取值范围:布尔型 on表示允许基于历史统计信息使用推理估算的逻辑。 off表示不允许基于历史统计信息使用推理估算的逻辑。 默认值: 若当前集群为低版本升级到8.2.0.100及以上集群版本,为保持和前向兼容,默认值为off。 若当前集群为新装的8.2.0.100及以上集群版本,默认值为on。
共100000条