-
PG_AUTHID PG_AUTHID系统表存储有关数据库认证标识符(角色)的信息。角色把“用户”的概念包含在内。一个用户实际上就是一个rolcanlogin标志被设置的角色。任何角色(不管rolcanlogin设置与否)都能够把其他角色作为成员。
GaussDB 中只有一份pg_authid,不是每个数据库有一份。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTHID字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 rolname name 角色名称。 rolsuper boolean 角色是否是拥有最高权限的初始系统管理员。 t(true):表示是。 f(false):表示不是。 rolinherit boolean 角色是否自动继承其所属角色的权限。 t(true):表示自动继承。 f(false):表示不自动继承。 rolcreaterole boolean 角色是否可以创建更多角色。 t(true):表示可以。 f(false):表示不可以。 rolcreatedb boolean 角色是否可以创建数据库。 t(true):表示可以。 f(false):表示不可以。 rolcatupdate boolean 角色是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 t(true):表示可以。 f(false):表示不可以。 rolcanlogin boolean 角色是否可以登录,也就是说,这个角色可以给予会话认证标识符。 t(true):表示可以。 f(false):表示不可以。 rolreplication boolean 角色是否具有复制权限。 t(true):表示有。 f(false):表示没有。 rolauditadmin boolean 角色是否具有审计管理员权限。 t(true):表示有。 f(false):表示没有。 rolsystemadmin boolean 角色是否具有系统管理员权限。 t(true):表示有。 f(false):表示没有。 rolconnlimit integer 对于可以登录的角色,限制其最大并发连接数量。 -1 表示没有限制。 rolpassword text 密码密文,如果没有密码,则为NULL。 rolvalidbegin timestamp with time zone 账户的有效开始时间,如果没有开始时间,则为NULL。 rolvaliduntil timestamp with time zone 账户的有效结束时间,如果没有结束时间,则为NULL。 rolrespool name 用户所能够使用的resource pool。 roluseft boolean 角色是否可以操作外表。 t(true):表示可以。 f(false):表示不可以。 rolparentid oid 用户所在组用户的OID。 roltabspace text 用户数据表的最大空间限额。 rolkind "char" 特殊用户种类。 n:表示普通用户。 p:表示永久用户。 rolnodegroup oid 该字段不支持。 roltempspace text 用户临时表的最大空间限额,单位为KB。 rolspillspace text 用户执行作业时下盘数据的最大空间限额,单位为KB。 rolexcpdata text 用户可以设置的查询规则(当前未使用)。 rolmonitoradmin boolean 角色是否具有监控管理员权限。 t(true):表示有。 f(false):表示没有。 roloperatoradmin boolean 角色是否具有运维管理员权限。 t(true):表示有。 f(false):表示没有。 rolpolicyadmin boolean 角色是否具有安全策略管理员权限。 t(true):表示有。 f(false):表示没有。 父主题: 连接和认证
-
umdk_enabled 参数说明:控制当前数据库主备DN是否开启UMDK功能。若DN主备间通信使用UMDK通信协议,则DN上相关日志关键字为“umdk”,若DN主备间通信使用TCP协议,则记录log日志。目前仅部分场景支持该功能。 参数类型:布尔型 参数单位:无 取值范围: on:开启UMDK功能,若当前数据库实例不支持UMDK网络通信协议,则DN主备间通信走TCP协议;若当前数据库实例支持UMDK网络通信协议,DN主备间通信走UMDK协议。 off:不开启UMDK功能,DN主备间通信走TCP协议。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。可以根据参数使用说明的具体使用场景进行设置。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
comm_proxy_attr 参数说明:通信代理库相关参数配置。 该参数仅支持欧拉2.9系统下的集中式ARM单机。 本功能在线程池开启(GUC参数enable_thread_pool取值为on)状态下生效。 配置该参数时需同步配置GUC参数local_bind_address为libos_kni的网卡IP。 参数模板:comm_proxy_attr = '{enable_libnet:true, enable_dfx:false, numa_num:4, numa_bind:[[30,31],[62,63],[94,95],[126,127]]}' 可配置参数说明。 enable_libnet:是否开启用户态协议,取值范围:true、false。 enable_dfx:是否开启通信代理库视图,取值范围:true、false。 numa_num:机器环境中numa的数量,支持2P、4P服务器,取值范围:4、8。 numa_bind:代理线程绑核参数,每个numa两个CPU绑核,共numa_num组,取值范围:[0,cpu数-1]。 参数类型:字符串 参数单位:无 取值范围:长度大于0的字符串。 默认值:"none" 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:comm_proxy配置为非“none”值时,需要根据参数说明合理配置,否则无法正常使用该功能。
-
umdk_port 参数说明:当DN主备间通信使用UMDK协议时,主备DN网络通信链路的侦听端口。 参数类型:整型 参数单位:无 取值范围:1 ~ 65535 默认值:dataPortBase+15,dataPortBase的值为数据库初次安装时GUC参数port的取值。 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,不建议用户配置。 设置不当的风险与影响:配置不当可能会导致端口冲突,影响数据库正常启动。
GaussDB数据库 适配UMDK通信协议栈,UMDK能力由操作系统提供和维护。 GaussDB数据库侧默认不会侦听umdk_port,需要在打开GUC参数umdk_enabled,且当前环境硬件和软件支持UMDK协议时,数据库UMDK协议的功能才会开启,相关端口才会被侦听,DN主备开始执行UMS网络协议(UMS为UMDK的网络协议族)。
-
tcp_keepalives_interval 参数说明:在支持TCP_KEEPINTVL套接字选项的操作系统上,设置重新传输之间等待响应的时间。该参数可在PDB级别设置。 如果操作系统不支持TCP_KEEPINTVL选项,这个参数的值必须为0。 在通过UNIX域套接字进行的连接的操作系统上,这个参数将被忽略。 将该值设置为0时,将使用系统的值。 该参数在不同的会话之间不共享,也就是说不同的会话连接可能有不同的值。 查看该参数时查出来的是当前会话连接内的参数值,而不是GUC副本的值。 参数类型:整型 参数单位:s(秒) 取值范围:0 ~ 180 默认值:30。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值60,表示tcp_keepalives_interval为60s;带单位取值1min,表示tcp_keepalives_interval为1min。取值如果要带单位,必须为s、min、h、d。 设置建议:设置时请确认操作系统是否支持TCP_KEEPINTVL套接字选项。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
tcp_user_timeout 参数说明:在支持TCP_USER_TIMEOUT套接字选项的操作系统上,设置GaussDB在发送数据时,指定传输的数据在TCP连接被强制关闭之前可以保持未确认状态的最大时长。 如果操作系统不支持TCP_USER_TIMEOUT选项,这个参数的值将不生效,默认为0。 在通过UNIX域套接字进行连接的操作系统上,这个参数将被忽略。 参数类型:整型 参数单位:ms(毫秒) 取值范围:0 ~ 3600000 默认值:0,表示跟随操作系统设置。 注意,不同操作系统内核下,这个参数生效结果将不同: aarch64 EulerOS(Linux内核版本:4.19),超时时间即为该参数设置值。 x86 Euler2.5(Linux内核版本:3.10),超时时间不是该参数设置值,而是不同区间的最大值,即超时时间取值为:tcp_user_timeout设置值所处“Linux TCP重传总耗时”区间的上限最大值。例如:tcp_user_timeout=40000时,重传总耗时为51秒。 表1 x86 Euler2.5(Linux内核版本:3.10)tcp_user_timeout参数取值示意 Linux TCP重传次数 Linux TCP重传总耗时区间(秒) tcp_user_timeout设置举例(毫秒) 实际Linux TCP重传总耗时(秒) 1 (0.2,0.6] 400 0.6 2 (0.6,1.4] 1000 1.4 3 (1.4,3] 2000 3 4 (3,6.2] 4000 6.2 5 (6.2,12.6] 10000 12.6 6 (12.6,25.4] 20000 25.4 7 (25.4,51] 40000 51 8 (51,102.2] 80000 102.2 9 (102.2,204.6] 150000 204.6 10 (204.6,324.6] 260000 324.6 11 (324.6,444.6] 400000 444.6 注:TCP每次重传耗时随重传次数指数增加,当TCP一次重传到达120秒后,后续每次重传都将耗时120秒不再变化。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:设置时请确认操作系统是否支持TCP_USER_TIMEOUT套接字选项。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
tcp_keepalives_count 参数说明:在支持TCP_KEEPCNT套接字选项的操作系统上,设置GaussDB服务端在断开与客户端连接之前可以等待的保持活跃信号个数。该参数可在PDB级别设置。 如果操作系统不支持TCP_KEEPCNT选项,这个参数的值必须为0。 在通过UNIX域套接字进行连接的操作系统上,这个参数将被忽略。 将该值设置为0时,将使用系统的值。 该参数在不同的会话之间不共享,也就是说不同的会话连接可能有不同的值。 查看该参数时查出来的是当前会话连接内的参数值,而不是GUC副本的值。 参数类型:整型 参数单位:无 取值范围:0 ~ 100,其中0表示GaussDB未收到客户端反馈的保持活跃信号则立即断开连接。 默认值:20。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:设置时请确认操作系统是否支持TCP_KEEPCNT套接字选项。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
tcp_keepalives_idle 参数说明:在支持TCP_KEEPIDLE套接字选项的系统上,设置发送保持活跃信号的间隔秒数。不设置发送保持活跃信号,连接就会处于闲置状态。该参数可在PDB级别设置。 如果操作系统不支持TCP_KEEPIDLE选项 ,这个参数的值必须为0。 在通过Unix域套接字进行的连接的操作系统上,这个参数将被忽略。 将该值设置为0时,将使用系统的值。 该参数在不同的会话之间不共享,也就是说不同的会话连接可能有不同的值。 查看该参数时查出来的是当前会话连接内的参数值,而不是GUC副本的值。 参数类型:整型 参数单位:s(秒) 取值范围:0 ~ 3600 默认值:60。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值60,表示tcp_keepalives_idle为60s;带单位取值1min,表示tcp_keepalives_idle为1min。取值如果要带单位,必须为s、min、h、d。 设置建议:设置时请确认操作系统是否支持TCP_KEEPIDLE套接字选项。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
check_disconnect_query 参数说明:该参数控制的是,当客户端异常断连(如JDBC触发socketTimeout、libpq触发rwtimeout且关闭连接、运行业务过程中客户端进程终止等)后,GaussDB服务端语句是否终止执行。 参数类型:布尔型 参数单位:无 取值范围: on:表示当客户端异常断连后,GaussDB服务端终止运行对应的语句。 off:表示当客户端异常断连后,GaussDB服务端不会终止运行对应的语句。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
plat_compat_server_port 参数说明:M-Compatibility模式数据库行为配置项。该参数用于设置协议侦听的TCP端口号。 参数类型:整型 参数单位:无 取值范围:1024 ~ 65536 默认值:65536,表示不启动监听端口。 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:默认值65536,表示不启动监听端口,1024-65535属于有效监听端口,请设置为未被使用的端口。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
application_name 参数说明:当前连接请求当中,所使用的客户端名称。该参数可在PDB级别设置。 参数类型:字符串 参数单位:无 取值范围:合法的客户端名称,实际查询结果取决于查询所用的客户端或用户设置。 在备机请求主机进行日志复制时,如果该参数非空串,那么会被用来作为备机在主机上的流复制槽名字。此时,如果该参数长度超过61个字节,那么流复制槽名字只会截取使用前61个字节的字符。 默认值:""(连接到后端的应用名,以实际安装为准)。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。但是需要注意的是,客户端连接后该参数会被设为客户端名称,且设置为客户端级别,所以只有设置会话级别的参数会生效,其他方式都由于级别低于客户端级别而不会生效。 设置建议:推荐使用默认值。 设置不当的风险与影响:数据库依赖于application_name标识部分内部进程,当用户设置了与内部进程同名的application_name时,可能产生非预期的行为。
-
service_reserved_connections 参数说明:为后台运维用户(带有persistence属性)预留的最少连接数,不建议设置过大。该参数和max_connections参数配合使用,运维用户的最大连接数等于max_connections + service_reserved_connections。 参数类型:整型 参数单位:无 取值范围:0 ~ 262143 默认值:10 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如果设置过小,会导致在max_connections占满的情况下,运维用户(带有persistence属性)无法连接数据库,作业无法正常执行。如果设置过大,则会有过多的空闲资源。
-
max_inner_tool_connections 参数说明:允许和数据库连接的工具的最大并发连接数。此参数会影响GaussDB的工具连接并发能力。 参数类型:整型 参数单位:无 取值范围:最小值为1,最大值的计算公式为“262143 - job_queue_processes - autovacuum_max_workers - max_connections - max_concurrent_autonomous_transactions - AUXILIARY_BACKENDS - AV_LAUNCHER_PRO
CS - min(max(max_connections/4,64),1024)”,job_queue_processes、autovacuum_max_workers、max_connections和max_concurrent_autonomous_transactions的值取决于对应GUC参数的设置,AUXILIARY_BACKENDS为预留辅助线程数固定为20,AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数固定为2。 默认值: 50(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);10(4核CPU/16G内存) 如果该默认值超过内核支持的最大值(在执行gs_initdb的时候判断),系统会提示错误。 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:数据库主节点中此参数建议保持默认值。增大此参数可能导致GaussDB要求更多的SystemV共享内存或者信号量,可能超过操作系统缺省配置的最大值。这种情况下,请酌情对数值加以调整。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
unix_socket_group 参数说明:设置Unix域套接字的所属组(套接字的所属用户总是启动服务器的用户)。可以与选项unix_socket_permissions一起用于对套接字进行访问控制。 参数类型:字符串 参数单位:无 取值范围:系统中已有的用户组。 默认值:"",表示当前用户的缺省组。 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
unix_socket_permissions 参数说明:设置Unix域套接字的访问权限。 Unix域套接字使用普通的Unix文件系统权限集。这个参数的值应该是数值的格式(chmod和umask命令可接受的格式)。如果使用自定义的八进制格式,数字必须以0开头。 参数类型:整型 参数单位:无 取值范围:0000 ~ 0777 在Linux中,文档具有十个属性,其中第一个属性为文档类型,后面九个为权限属性,分别为Owner,Group及Others这三个组别的read、write、execute属性。 文档的权限属性分别简写为r,w,x,这九个属性三个为一组,也可以使用数字来表示文档的权限,对照表如下: r:4 w: 2 x:1 -:0 同一组(owner/group/others)的三个属性是累加的。 例如,-rwxrwx---表示这个文档的权限为: owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others = --- = 0+0+0 = 0 所以其权限为0770。 默认值:0700 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为0770(只有当前连接数据库的用户和同组的人可以访问)或者0700(只有当前连接数据库的用户自己可以访问,同组或者其他人都没有权限)。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。