华为云用户手册

  • 伪类型 GaussDB 数据类型中包含一系列特殊用途的类型,这些类型按照类别被称为伪类型,如表1所示。伪类型不能作为字段的数据类型,但是可以用于声明函数的参数或者结果类型。 当一个函数不仅是简单地接受并返回某种SQL数据类型的情况下伪类型是很有用的。表1列出了所有的伪类型。 表1 伪类型 名称 描述 any 表示函数接受任何输入数据类型。 anyelement 表示函数接受任何数据类型。 anyarray 表示函数接受任意数组数据类型。 anynonarray 表示函数接受任意非数组数据类型。 anyenum 表示函数接受任意枚举数据类型。 anyrange 表示函数接受任意范围数据类型。 cstring 表示函数接受或者返回一个空结尾的C字符串。 internal 表示函数接受或者返回一种服务器内部的数据类型。 language_handler 声明一个过程语言调用句柄返回language_handler。 fdw_handler 声明一个外部数据封装器返回fdw_handler。 record 标识函数返回一个未声明的行类型。 trigger 声明一个触发器函数返回trigger。 void 表示函数不返回数值。 opaque 一个已经过时的类型,以前用于所有上面这些用途。 声明用C语言编写的函数(无论是内置的还是动态装载的)都可以接受或者返回任何这样的伪数据类型。当伪类型作为参数类型使用时,用户需要保证函数的正常运行。 用过程语言编写的函数只能使用实现语言允许的伪类型。目前,过程语言都不允许使用作为参数类型的伪类型,并且只允许使用void和record作为结果类型。一些多态的函数还支持使用anyelement、anyarray、anynonarray、anyenum和anyrange类型。 每一个被声明为anyelement的位置(参数或返回值)都允许具有任意特定的实际数据类型,但是在任何给定的查询中必须全部是相同的实际类型。 伪类型internal用于声明只能在数据库系统内部调用的函数,这些函数不能直接在SQL查询里调用。如果函数至少有一个internal类型的参数,则不能从SQL里调用。建议不要创建任何声明返回internal的函数,除非其至少有一个internal类型的参数。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 --创建表。 gaussdb=# CREATE TABLE t1 (a int); --插入两条数据。 gaussdb=# INSERT INTO t1 values(1),(2); --创建函数showall()。 gaussdb=# CREATE OR REPLACE FUNCTION showall() RETURNS SETOF record AS $$ SELECT count(*) from t1; $$ LANGUAGE SQL; --调用函数showall()。 gaussdb=# SELECT showall(); showall --------- (2) (1 row) --删除函数。 gaussdb=# DROP FUNCTION showall(); --删除表。 gaussdb=# DROP TABLE t1; 父主题: 数据类型
  • 示例 --向gs_global_config系统表中插入单个弱口令。 gaussdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('********'); --查看gs_global_config系统表现有的弱口令。 gaussdb=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; name | value -----------------+-------------- weak_password | ******** (1 rows) --向gs_global_config系统表中插入多个弱口令。 gaussdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('********'),('********'); --再次查看gs_global_config系统表弱口令(弱密码的*不代表密码内容)。 gaussdb=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; name | value -----------------+---------------- weak_password | ******** weak_password | ******** weak_password | ******** (3 rows) --清空gs_global_config系统表中所有弱口令。 gaussdb=# DROP WEAK PASSWORD DICTIONARY; --查看现有弱口令。 gaussdb=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; name | value ------+------- (0 rows)
  • PG_FOREIGN_SERVER PG_FOREIGN_SERVER系统表存储外部服务器定义。一个外部服务器描述了一个外部数据源,例如一个远程服务器。外部服务器通过外部数据封装器访问。 表1 PG_FOREIGN_SERVER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 srvname name - 外部服务器名。 srvowner oid PG_AUTHID.oid 外部服务器的所有者。 srvfdw oid PG_FOREIGN_DATA_WRAPPER.oid 外部服务器的外部数据封装器的OID。 srvtype text - 服务器的类型(可选)。 srvversion text - 服务器的版本(可选)。 srvacl aclitem[] - 访问权限。 srvoptions text[] - 外部服务器指定选项,使用“keyword=value”格式的字符串。 父主题: 其他系统表
  • GLOBAL_WLM_WORKLOAD_RUNTIME 显示当前用户在每个CN上执行作业时在CN上的状态信息,如表1所示。需要有监控管理员权限才可以访问。 表1 GLOBAL_WAL_WORKLOAD_RUNTIME字段 名称 类型 描述 node_name text 作业执行所在的CN的名称。 thread_id bigint 后端线程ID。 processid integer 线程的lwpid。 time_stamp 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 name 作业所使用的Cgroups。 enqueue text 作业的排队信息,包括: GLOBAL:全局排队。 RESPOOL:资源池排队。 ACTIVE:不排队。 query text 正在执行的语句。 node_group text node group名称。 父主题: Workload Manager
  • checkpoint_flush_after 参数说明:设置checkpointer线程刷脏页个数超过设定的阈值时,告知操作系统将文件缓存中的数据页面异步刷盘。GaussDB中,磁盘页大小为8kB。 参数类型:整型 参数单位:页面(8kB) 取值范围:0~256(0表示关闭异步刷盘功能)。 默认值:256kB(即32个页面) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。可以设置页面的数量或字节的大小,例如,取值32或256kB,表示checkpointer线程连续写32个磁盘页,即32*8=256kB磁盘空间后会进行异步刷盘。gs_guc不支持以页面数量为参数单位进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • backend_flush_after 参数说明:设置backend线程刷脏页个数超过设定的阈值时,告知操作系统将文件缓存中的数据页面异步刷盘。GaussDB中,磁盘页大小为8kB。 参数类型:整型 参数单位:页面(8kB) 取值范围:0~256(0表示关闭异步刷盘功能)。 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。可以设置页面的数量或字节的大小,例如,取值64或512kB,表示backend线程连续写64个磁盘页,即64*8=512kB磁盘空间后会进行异步刷盘。gs_guc不支持以页面数量为参数单位进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • bgwriter_flush_after 参数说明:设置background writer线程刷脏页个数超过设定的阈值时,告知操作系统将文件缓存中的数据页面异步刷盘。GaussDB中,磁盘页大小为8kB。 参数类型:整型 参数单位:页面(8kB) 取值范围:0~256(0表示关闭异步刷盘功能)。 默认值:512kB(即64个页面) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。可以设置页面的数量或字节的大小,例如,取值64或512kB,表示background writer线程连续写64个磁盘页,即64*8=512kB磁盘空间后会进行异步刷盘。gs_guc不支持以页面数量为参数单位进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_mac_check 参数说明:表示基于标签的强制访问控制是否生效。 参数类型:布尔型 参数单位:无 取值范围: on:表示基于标签的强制访问控制生效。 off:表示基于标签的强制访问控制不生效。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,可以根据实际业务需要进行调整。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_rls_match_index 参数说明:控制是否支持在行级访问控制特性使用场景中,基于目标谓词条件对基表执行索引扫描。目标场景为:基表设置并开启了RLS(Row Level Security)策略,查询谓词中包含unleakproof类型系统函数或like操作符。 参数类型:布尔型 参数单位:无 取值范围: on:支持目标场景下的基表索引扫描。 off:不支持目标场景下的基表索引扫描。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。若业务热点查询语句为目标场景,且基表行级访问策略数量较少,可打开该开关以显著提升查询性能。 设置不当的风险与影响:此参数设置为on,在位图扫描算子切换为lossy模式且RLS策略数目较多时,会导致过滤谓词重复执行,影响性能。 该参数的修改,会影响目标场景下执行计划的生成,可通过重连、创建操作符等方式手动使缓存计划失效。 该参数开启后,会影响到位图扫描算子的生成,RLS策略谓词将被插入到Recheck过滤条件中;因此,在该算子切换为lossy模式且RLS策略数目较多时,会对性能产生一定影响。
  • block_encryption_mode 参数说明:aes_encrypt和aes_decrypt函数进行加解密时使用的块加密模式。 参数类型:枚举类型 参数单位:无 取值范围:有效值有aes-128-cbc、aes-192-cbc、aes-256-cbc、aes-128-cfb1、aes-192-cfb1、aes-256-cfb1、aes-128-cfb8、aes-192-cfb8、aes-256-cfb8、aes-128-cfb128、aes-192-cfb128、aes-256-cfb128、aes-128-ofb、aes-192-ofb、aes-256-ofb。其中aes表示加/解密算法,128/192/256表示密钥长度(单位:bit),cbc/cfb1/cfb8/cfb128/ofb表示块加/解密模式。 默认值:aes-128-cbc 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,可以根据实际业务需要进行调整。 设置不当的风险与影响:影响aes_encrypt和aes_decrypt函数的使用。
  • restrict_nonsystem_relation_kind 参数说明:控制是否能访问用户创建的关系对象类型。 取值范围:字符串类型。 空表示不进行任何限制。 view表示禁用对用户创建的视图进行访问。 foreign-table表示禁用对用户创建的外表进行访问。 默认值:空。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:设置为默认值。 在gs_dump执行导出的过程中,为防止恶意攻击,需要禁用访问用户创建的视图和外表,工具会将此参数的值会话级设置为'view, foreign-table',无需用户手动配置。
  • use_elastic_search 参数说明:统一审计发送日志至Elastic Search系统,enable_security_policy打开且本参数打开后,统一审计日志会通过http(https)传递至Elastic Search系统(默认使用https安全协议)。 参数类型:布尔型 参数单位:无 取值范围: on:开启统一审计日志发送至Elastic Search。 off:关闭统一审计日志发送至Elastic Search。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,需要将统一审计日志发送至Elastic Search系统时开启。 设置不当的风险与影响:此参数打开后需要保证elastic_search_ip_addr对应的es服务可正常连通,否则进程启动失败。
  • elastic_search_ip_addr 参数说明:Elastic Search系统IP地址,使用https协议格式为:https://ip:port:username;使用http协议格式为:http://ip:port。其中,ip为Elastic Search服务器的IP,port为Elastic Search HTTP通信的侦听端口,范围为9200 - 9299,username为用户在Elastic Search注册账号所使用的用户名,初始用户为elastic。使用https协议需要配置相关证书,详见《安全加固指南》中“统一审计“章节。 参数类型:字符串 参数单位:无 取值范围:合法IP字符串或空字符串。 默认值:"" 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,需要将统一审计日志发送至Elastic Search系统时且use_elastic_search为on时设置。 设置不当的风险与影响:需要保证该参数取值对应的es服务可正常连通,否则进程启动会失败。
  • tde_index_default_encrypt 参数说明:创建索引时,如果开启本参数,并且索引的基表是加密表,则数据库会自动将索引设置为加密索引,并自动为索引复制基表的加密算法、密钥等加密参数,对索引中的数据先加密再存储。 参数类型:布尔型 参数单位:无 取值范围: on:自动对加密表的索引设置加密参数。 off:不自动对加密表的索引设置加密参数。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:如果所有加密表的索引都需要被加密,可开启该参数,无需手动将索引设置为加密索引。 设置不当的风险与影响:如果将参数设置为on,在加密表上创建的索引将被自动加密,影响查询索引的性能。
  • tde_encrypt_config 参数说明:用于设置透明加密支持xlog和undo-log相关功能的参数。 参数类型:字符串 参数单位:无 取值范围:该参数配置格式为“key=value, key=value, ...”,合法的key和value如下: key取值 value取值 缺省值 功能 log_encrypt on或off on 控制是否对xlog和undo-log加密。 log_algorithm aes_128_ctr或sm4_ctr aes_128_ctr 对xlog和undo-log加密的算法。 table_algorithm aes_128_ctr或sm4_ctr aes_128_ctr 在该种语法中:CREATE .. SET (enable_tde=on, encrypt_algo=aes_128_ctr),如果不主动设置encrypt_algo参数,默认使用table_algorithm中设置的参数。 默认值:"" 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,可以根据实际业务需要进行调整。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • Schema GaussDB的Schema如表1所示。 数据库禁止在提供功能接口的Schema下创建用户的业务数据,包括但不限于表、函数等(dbe_*, pkg_*)。 表1 GaussDB支持的Schema Schema名称 描述 blockchain 用于存储账本数据库特性中创建防篡改表时自动创建的用户历史表。 dbe_perf DBE_PERF Schema内视图主要用来诊断性能问题,也是WDR Snapshot的数据来源。数据库安装后,默认只有初始用户和监控管理员具有模式dbe_perf的权限,有权查看该模式下的视图和函数。 snapshot 用于管理WDR snapshot的相关的数据信息,默认初始化用户或监控管理员用户可以访问。 sqladvsior 用于分布列推荐,具体使用方法见分布列推荐函数。 sys 用于提供系统信息视图接口。 pg_catalog 用于维护系统的catalog信息,包含系统表和所有内置数据类型、函数、操作符。 pg_toast 用于存储大对象(系统内部使用)。 public 公共模式,用于存储公共对象。search_path参数缺省时,如果存在用户同名的模式则将创建的表(以及其他对象)默认创建到同名模式下,不存在用户同名模式则自动放入public模式。 pkg_service 用于管理package服务相关信息。 pkg_util 用于管理package工具相关信息。 dbe_raw 高级功能包dbe_raw,用于raw类型数据的转化、取子串、求长度等操作。 dbe_session 高级功能包dbe_session,用于设置指定属性的值,并支持用户查询校验。 dbe_lob 高级功能包dbe_lob,用于大文件(clob/blob)的读取、写入、复制等操作。 dbe_match 高级功能包dbe_match,用于字符串相似度比较。 dbe_task 高级功能包dbe_task,用于作业任务的调度包括提交任务、取消任务、同步任务状态、更新任务信息等可以使数据库定期执行特定的任务。 dbe_sql 高级功能包dbe_sql,用于执行动态sql,可以在应用的运行时间构建查询和其它的命令。 dbe_file 高级功能包dbe_file,用于数据库外部文件的读取、复制、写入、删除、重命名等。 dbe_output 高级功能包dbe_output,用于打印输出信息。 dbe_random 高级功能包dbe_random,用于生成随机种子和随机数。 dbe_application_info 高级功能包dbe_application_info,用于记录客户端信息。 dbe_utility 高级功能包dbe_utility,用于存储过程调用调试工具,例如打印错误堆栈等。 dbe_scheduler 高级功能包dbe_scheduler,用于创建定时任务,通过程序(program)、调度(schedule)使数据库定期执行特定的任务。也可以通过授权、提供证书执行数据库外部任务。 information_schema 用于存储有关当前数据库中定义的对象的信息。 dbe_sql_util SQL运维功能,目前包含SQL Patch的运维接口。 dbe_xmlgen 高级功能包dbe_xmlgen,用于将查询结果转换成xml字符串。 dbe_describe 高级功能包dbe_describe,用于查询存储过程或函数的参数信息。 表2 GaussDB目前禁用的Schema Schema名称 描述 dbe_pldebugger 用于调试PL/SQL函数及存储过程,目前暂不支持,该视图下接口调用报错unsupported。 db4ai 用于管理AI训练中不同版本的数据信息。 Information Schema DBE_PERF Schema WDR Snapshot Schema DBE_SQL_UTIL Schema DBE_PLDEBUGGER Schema DBE_PLDEVELOPER
  • GS_TOTAL_NODEGROUP_MEMORY_DETAIL GS_TOTAL_NODEGROUP_MEMORY_DETAIL返回当前数据库node group使用内存的信息,单位为MB,若GUC参数enable_memory_limit设置为off,则该视图不能使用。具体字段信息如表1所示。 表1 GS_TOTAL_NODEGROUP_MEMORY_DETAIL字段 名称 类型 描述 ngname text node group名称。 memorytype text 内存类型,包括以下几种: ng_total_memory:该node group的总内存大小。 ng_used_memory:该node group的实际使用内存大小。 ng_estimate_memory:该node group的估算使用内存大小。 ng_foreignrp_memsize:该node group的外部资源池的总内存大小。 ng_foreignrp_usedsize:该node group的外部资源池实际使用内存大小。 ng_foreignrp_peaksize:该node group的外部资源池使用内存的峰值。 ng_foreignrp_mempct:该node group的外部资源池占该node_group总内存大小的百分比。 ng_foreignrp_estmsize:该node group的外部资源池估算使用内存大小。 memorymbytes integer 内存类型分配内存的大小。 父主题: 其他系统视图
  • cluster_name 参数说明:标识当前集群的集群名称。 集群名称cluster_name不可设置为“invalid_cluster_uuid”。 参数类型:字符串 参数单位:无 取值范围:合法的集群名称。 默认值:"" 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数在容灾流程使用,容灾集群依赖该参数进行集群识别,用户可读,不建议用户修改。 设置不当的风险与影响:手动修改可能造成容灾功能异常。
  • hadr_primary_cluster_name 参数说明:标识容灾中当前主集群的集群名称。用于1个主集群连接两个备集群的异地流式容灾部署下的主集群识别。 当流式容灾备集群的首备的hadr_primary_cluster_name配置为“invalid_cluster_uuid”时,将不再启动与主集群的日志同步,备集群将持续处于断连状态。 参数类型:字符串 参数单位:无 取值范围:合法的集群名称。 默认值:"" 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:容灾集群的识别参数,容灾流程使用,用户可读,不建议用户修改。 设置不当的风险与影响:手动修改可能造成容灾功能异常。
  • hadr_process_type 参数说明:基于流式复制异地容灾解决方案或者同城双中心高可用方案的流程标识。 参数类型:枚举类型 参数单位:无 取值范围: none:表示当前无流程。 failover:表示当前处于灾备集群升主流程。 switchover_promote:表示主备集群倒换流程中灾备集群升主流程。 switchover_demote:表示主备集群倒换流程中主集群降为灾备集群流程。 dorado_failover:表示dorado灾备集群升主流程。 dorado_switchover_demote:表示dorado主备集群倒换流程中主集群降为灾备集群流程。 dorado_failover_abnormal:表示dorado主集群共享盘故障时,灾备集群升主流程。 dorado_failover_in_standby_stream:表示同城双中心高可用支持基于流式复制异地容灾解决方案中异地集群为容灾主集群时,dorado备集群升为dorado主集群(同时为异地容灾-灾备集群)流程。 dorado_failover_abnormal_in_standby_stream:表示同城双中心高可用支持基于流式复制异地容灾解决方案中异地集群为异地容灾主集群且dorado主集群(同时为异地容灾-灾备集群)共享盘故障时,dorado备集群升为dorado主集群(同时为异地容灾-灾备集群)流程。 默认值:none 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:容灾集群的状态参数,内部流程使用,用户可读,不建议用户修改。 设置不当的风险与影响:手动修改会造成灾备集群异常。
  • enable_roach_standby_cluster 参数说明:设置双集群中备集群的各个实例是否为只读模式,仅sysadmin用户可以访问。 参数类型:布尔型 参数单位:无 取值范围: on:表示备集群开启只读模式。 off:表示备集群关闭只读模式。此情况下,备集群可读可写。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:备份恢复使用,不建议用户修改。 设置不当的风险与影响:修改该参数取值可能导致集群出现意料之外的结果,请保持默认值。
  • RepOriginId 参数说明:该参数是一个会话级别的GUC参数,在双向逻辑复制的场景下,为避免数据循环复制,需要设置为一个非0的值。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647‬ 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表2中的方式三进行设置。 设置建议:在双向逻辑复制的场景下,需要设置为一个非0的值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • auto_csn_barrier 参数说明:流式容灾的主集群和GTM LITE集群是否开启barrier打点功能。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:容灾流程中会自动设置开启,不建议用户手动关闭。GTM LITE集群开启备机读功能,需要设置该参数为ON。 设置不当的风险与影响:关闭后,影响灾备集群和GTM LITE集群备机读数据一致性。
  • stream_cluster_run_mode 参数说明:流式容灾双集群容灾场景,标识CN/DN节点属于主集群还是备集群。 参数类型:枚举类型 参数单位:无 取值范围: cluster_primary:表示节点是主集群的节点。 cluster_standby:表示节点是备集群的节点。 默认值:cluster_primary 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:此参数为容灾集群的状态参数,内部流程使用,用户可读,不建议用户修改。 设置不当的风险与影响:手动修改会造成灾备集群异常。
  • global_syscache_threshold 参数说明:全局系统缓存占用内存的最大值,使用时需要打开enable_global_syscache参数。 参数类型:整型 参数单位:kB 取值范围:16384 ~ 1073741824 默认值:163840(即160MB) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,设置为163840,不带单位,表示163840kB;设置为160MB,带单位,表示160MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:建议设置为热点DB个数和线程个数的最小值乘以每个DB分配的内存大小,即global_syscache_threshold = min(count(hot dbs),count(threads)) * memofdb。 热点DB数即访问较为频繁的数据库数量。线程数在线程池模式下取线程池线程个数和后台线程个数之和,非线程池模式不需要计算这个值,直接使用热点DB数。 memofdb即平均每个db应该分配的内存,每个DB的底噪内存是2M,平均每增加一个表或者索引,增加11k内存。 设置不当的风险与影响:如果设置的值过小,会导致内存频繁淘汰,内存存在大量碎片无法回收,导致内存控制失效。
  • enable_global_syscache 参数说明:控制是否使用全局系统缓存功能。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启全局系统缓存功能。 off:表示不开启全局系统缓存功能。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,开启全局系统缓存功能可以降低系统缓存内存占用,提高并发扩展能力。若打开该参数,需要结合使用global_syscache_threshold,此时推荐使用线程池模式。若打开该参数后需要访问备机,建议设置备机wal_level级别为hot_standby以上。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • delete_cctmp_table 参数说明:控制是否删除Ustore在线创建/重建索引过程中产生的临时表。 参数类型:布尔型 参数单位:无 取值范围: on:表示删除临时表。 off:表示保留临时表。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数默认开启,需要保留在线创建/重建索引过程中产生的临时表时设置为off。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • 示例 --创建一个兼容性为ORA的数据。 gaussdb=# CREATE DATABASE ora_test_db DBCOMPATIBILITY 'ORA'; --切换数据库。 gaussdb=# \c ora_test_db --创建拥有系统管理员权限的用户。 ora_test_db=# CREATE USER user01 WITH SYSADMIN PASSWORD '********'; ora_test_db=# SET ROLE user01 PASSWORD '********'; --创建公共dblink。 ora_test_db=# CREATE PUBLIC DATABASE LINK public_dblink CONNECT TO 'user01' IDENTIFIED BY '********' USING (host '192.168.11.11',port '54399',dbname 'db01'); --创建普通用户。 ora_test_db=# CREATE USER user2 PASSWORD '********'; --修改dblink对象信息。 ora_test_db=# ALTER PUBLIC DATABASE LINK public_dblink CONNECT TO 'user2' IDENTIFIED BY '********'; --删除公共dblink。 ora_test_db=# DROP PUBLIC DATABASE LINK public_dblink; --删除用户。 ora_test_db=# RESET ROLE; ora_test_db=# DROP USER user01; ora_test_db=# DROP USER user2; --切换回初始数据库,并删除测试数据库。请用真实的数据库名替换postgres。 ora_test_db=# \c postgres gaussdb=# DROP DATABASE ora_test_db;
  • 扩展函数 下表列举了GaussDB中支持的扩展函数,不作为商用特性交付,仅供参考。 分类 函数名称 描述 触发器函数 pg_get_triggerdef(trigger_oid) 为触发器获取CREATE [ CONSTRAINT ] TRIGGER命令 pg_get_triggerdef(trigger_oid, pretty_bool) 为触发器获取CREATE [ CONSTRAINT ] TRIGGER命令 父主题: 附录
  • DBE_PLDEVELOPER.gs_source 用于记录PL/SQL对象(存储过程、函数、包、包体)相关信息,如表1所示。 gs_source表中只记录用户定义的原始对象语句,即使用户使用了ALTER改变了创建的SCHEMA或者名字,gs_source表中的信息也不会发生变化,如果用户更改了对象的SCHEMA或者名字,用户在删除对象后,对象会从gs_source表中被删除。 gs_source表中的owner表示创建的用户,不是用户创建存储过程或package时指定的用户。 设置GUC参数behavior_compat_options="skip_insert_gs_source"后,PL/SQL对象(存储过程、函数、包、包体)相关信息将不在gs_source中记录。 gs_source权限与pg_catalog下的系统表保持一致(系统管理员与普通用户不允许DROP、ALTER、DELETE、UPDATE、INSERT,允许SELECT),利用GUC参数allow_system_table_mods控制操作gs_source的权限,此GUC参数默认为off,修改此GUC参数生效需要重启数据库。 数据库默认情况下没有对gs_source表中设置行级访问控制,如果用户需要使用数据库隔离性特性,请使用如下语句进行添加行级访问控制: ALTER TABLE dbe_pldeveloper.gs_source ENABLE ROW LEVEL SECURITY; CREATE ROW LEVEL SECURITY POLICY all_data_rls ON dbe_pldeveloper.gs_source USING(owner = (SELECT oid FROM gs_roles WHERE rolname=current_user)); 表1 DBE_PLDEVELOPER.gs_source字段 名称 类型 描述 id oid 对象id。 owner bigint 对象创建用户id。 nspid oid 对象的模式id。 name name 对象名。 type text 对象类型(procedure/function/package/package body)。 status boolean 是否创建成功。 src text 对象创建的原始语句。 父主题: DBE_PLDEVELOPER
共100000条