华为云用户手册

  • unix_socket_directory 参数说明:设置 GaussDB 服务器侦听客户端连接的UNIX域套接字目录。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 该参数的长度限制于操作系统的长度,超过该限制将会导致Unix-domain socket path "xxx" is too long的问题。 取值范围:字符串 默认值:空字符串(实际值由安装时配置文件指定)
  • sysadmin_reserved_connections 参数说明:为管理员用户预留的最少连接数,不建议设置过大。该参数和max_connections参数配合使用,管理员用户的最大连接数等于max_connections + sysadmin_reserved_connections。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值为0,最大值为MIN(262143, max_connections),max_connections的计算方法见上文。 默认值:3 注意:当启用线程池功能时,若线程池占满将形成处理瓶颈,导致管理员预留连接无法正常建立;作为逃生手段,此时可使用gsql通过主端口+1端口号连入,清理无用会话,即可正常连入。
  • application_name 参数说明:当前连接请求当中,所使用的客户端名称。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 在备机请求主机进行日志复制时,如果该参数非空串,那么会被用来作为备机在主机上的流复制槽名字。此时,如果该参数长度超过61个字节,那么流复制槽名字只会截取使用前61个字节的字符。 取值范围:字符串。 默认值:空字符串(连接到后端的应用名,以实际安装为准)
  • max_inner_tool_connections 参数说明:允许和数据库连接的工具的最大并发连接数。此参数会影响GaussDB的工具连接并发能力。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值为1,最大值为MIN(262143, max_connections),max_connections的计算方法见上文。 默认值:数据库节点为50。如果该默认值超过内核支持的最大值(在执行gs_initdb的时候判断),系统会提示错误。 设置建议: 数据库主节点中此参数建议保持默认值。 增大此参数可能导致GaussDB要求更多的SystemV共享内存或者信号量,可能超过操作系统缺省配置的最大值。这种情况下,请酌情对数值加以调整。
  • connection_info 参数说明:连接数据库的驱动类型、驱动版本号、当前驱动的部署路径和进程属主用户。 该参数属于USERSET类型参数,属于运维类参数,不建议用户设置。 取值范围:字符串。 默认值:空字符串。 空字符串,表示当前连接数据库的驱动不支持自动设置connection_info参数或应用程序未设置。 驱动连接数据库的时候自行拼接的connection_info参数格式如下: 1 {"driver_name":"ODBC","driver_version": "(GaussDB Kernel VxxxRxxxCxx build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131 release","driver_path":"/usr/local/lib/psqlodbcw.so","os_user":"omm"} 默认显示driver_name和driver_version,driver_path和os_user的显示由用户控制。
  • unix_socket_permissions 参数说明:设置UNIX域套接字的访问权限。 UNIX域套接字使用普通的UNIX文件系统权限集。这个参数的值应该是数值的格式(chmod和umask命令可接受的格式)。如果使用自定义的八进制格式,数字必须以0开头。 建议设置为0770(只有当前连接数据库的用户和同组的人可以访问)或者0700(只有当前连接数据库的用户自己可以访问,同组或者其他人都没有权限)。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:0000-0777 默认值:0700 在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。
  • port 参数说明:GaussDB服务侦听的TCP端口号。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 该参数由安装时的配置文件指定,请勿轻易修改,否则修改后会影响数据库正常通信。 取值范围:整型,1~65535 设置端口号时,请设置一个未被占用的端口号。设置多个实例的端口号,不可冲突。 1~1023为操作系统保留端口号,请不要使用。 通过配置文件安装数据库实例时,配置文件中的端口号需要注意通信矩阵预留端口。如:DN还需保留dataPortBase+1作为内部工具使用端口,保留dataPortBase+6作为流引擎(由于规格变更,当前版本已经不再支持本特性,请不要使用)消息队列通信端口等。故数据库实例安装阶段,port最大值为:DN可设置65529,同时需要保证端口号不冲突。 默认值:5432(实际值由安装时的配置文件指定)
  • listen_addresses 参数说明:声明服务器侦听客户端的TCP/IP地址。 该参数指定GaussDB服务器使用哪些IP地址进行侦听,如IPV4。服务器主机上可能存在多个网卡,每个网卡可以绑定多个IP地址,该参数就是控制GaussDB绑定在哪个或者哪几个IP地址上。而客户端则可以通过该参数中指定的IP地址来连接GaussDB或者给GaussDB发送请求。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围: 主机名或IP地址,多个值之间用英文逗号分隔。 星号“*”或“0.0.0.0”表示侦听所有IP地址。配置侦听所有IP地址存在安全风险,不推荐用户使用。必须与有效地址结合使用(比如本地IP等),否则,可能造成Build失败的问题。同时,主备环境下配置为“\*”或“0.0.0.0”时,主节点数据库路径下postgresql.conf文件中的localport端口号不能为数据库dataPortBase+1,否则会导致数据库无法启动。 置空则服务器不会侦听任何IP地址,这种情况下,只有UNIX域套接字可以用于连接数据库。 默认值:数据库实例安装好后,根据public_cloud.conf配置文件中不同实例的IP地址配置不同默认值。DN的默认参数值为:listen_addresses = 'data.net网卡对应的IP地址'。 public_cloud.conf文件保存的网卡信息,包括:mgr.net(管理网卡)、data.net(数据网卡)、virtual.net(虚拟网卡)。
  • local_bind_address 参数说明:声明当前节点连接数据库其他节点绑定的本地IP地址。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 默认值:数据库实例安装好后,根据public_cloud.conf配置文件中不同实例的IP地址配置不同默认值。DN的默认参数值为:local_bind_address = 'data.net网卡对应的IP地址'。 public_cloud.conf文件保存的网卡信息,包括:mgr.net(管理网卡)、data.net(数据网卡)、virtual.net(虚拟网卡)
  • 简化输入 简化输入到 CS V日志文件,可以通过如下操作: 设置log_filename和log_rotation_age,为日志文件提供一个一致的、可预测的命名方案。通过日志文件名,预测一个独立的日志文件完成并进入准备导入状态的时间。 将log_rotation_size设为0来终止基于尺寸的日志回滚,因为基于尺寸的日志回滚让预测日志文件名变得非常的困难。 将log_truncate_on_rotation设为on以便区分在同一日志文件中旧的日志数据和新的日志数据。
  • csvlog定义 以“逗号分隔值” 即CSV(Comma Separated Value)的形式发出日志。 以下是简单的用来存储CSV形式日志输出的表定义: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 CREATE TABLE gaussdb_log ( log_time timestamp(3) with time zone, node_name text, user_name text, database_name text, process_id bigint, connection_from text, "session_id" text, session_line_num bigint, command_tag text, session_start_time timestamp with time zone, virtual_transaction_id text, transaction_id bigint, query_id bigint, module text, error_severity text, sql_state_code text, message text, detail text, hint text, internal_query text, internal_query_pos integer, context text, query text, query_pos integer, location text, application_name text ); 详细说明请参见表1。 表1 csvlog字段含义表 字段名 字段含义 字段名 字段含义 log_time 毫秒级的时间戳 module 日志所属模块 node_name 节点名称 error_severity ERRORSTATE代码 user_name 用户名 sql_state_code SQLSTATE代码 database_name 数据库名 message 错误消息 process_id 进程ID detail 详细错误消息 connection_from 客户主机:端口号 hint 提示 session_id 会话ID internal_query 内部查询(查询那些导致错误的信息,如果有的话) session_line_num 每个会话的行数 internal_query_pos 内部查询指针 command_tag 命令标签 context 环境 session_start_time 会话开始时间 query 错误发生位置的字符统计 virtual_transaction_id 常规事务 query_pos 错误发生位置指针 transaction_id 事务ID location 在GaussDB源代码中错误的位置(如果log_error_verbosity的值设为verbose ) query_id 查询ID application_name 应用名称 使用COPY FROM命令将日志文件导入这个表: 1 COPY gaussdb_log FROM '/opt/data/pg_log/logfile.csv' WITH csv; 此处的日志名“logfile.csv”要换成实际生成的日志的名称。
  • transaction_isolation 参数说明:设置当前事务的隔离级别。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,只识别以下字符串,大小写空格敏感: serializable:GaussDB中等价于REPEATABLE READ。 read committed:只能读取已提交的事务的数据(缺省),不能读取到未提交的数据。 repeatable read:仅能读取事务开始之前提交的数据,不能读取未提交的数据以及在事务执行期间由其它并发事务提交的修改。 default:设置为default_transaction_isolation所设隔离级别。 默认值:read committed
  • pgxc_node_name 参数说明:指定节点名称。 该参数属于POSTMASTER类型参数,请参考表2进行设置。 在备机请求主机进行日志复制时,如果application_name参数没有被设置,那么pgxc_node_name参数会被用来作为备机在主机上的流复制槽名字。该流复制槽的命名方式为 "该参数值_备机ip_备机port"。其中,备机ip和备机port取自replconninfo参数中指定的备机ip和端口号。该流复制槽最大长度为61个字符,如果拼接后的字符串超过该长度,则会使用截断后的pgxc_node_name进行拼接,以保证流复制槽名字长度小于等于61个字符。 此参数修改后会导致连接数据库实例失败,不建议进行修改。 取值范围:字符串 默认值:当前节点名称
  • enable_defer_calculate_snapshot 参数说明:延迟计算快照的xmin和oldestxmin,执行1000个事务或者间隔1s才触发计算,设置为on时可以在高负载场景下减少计算快照的开销,但是会导致oldestxmin推进较慢,影响垃圾元组回收,设置为off时xmin和oldestxmin可以实时推进,但是会增加计算快照时的开销。 该参数属于SIGHUP类型参数,改请参考表2进行设置 取值范围:布尔型。 on表示延迟计算快照xmin和oldestxmin。 off表示实时计算快照xmin和oldestxmin。 默认值:on。
  • transaction_deferrable 参数说明:指定是否允许一个只读串行事务延迟执行,使其不会执行失败。该参数设置为on时,当一个只读事务发现读取的元组正在被其他事务修改,则延迟该只读事务直到其他事务修改完成。该参数为预留参数,该版本不生效。与该参数类似的还有一个default_transaction_deferrable,设置它来指定一个事务是否允许延迟。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许执行。 off表示不允许执行。 默认值:off
  • 选择分区方案 当表中的数据量很大时,应当对表进行分区,一般需要遵循以下原则: 【规则】对于大数据表,选取适当的分区方案。 数据库目前提供RANGE PARTITION、LIST PARTITION、HASH PARTITION分区方法,分区时应注意以下原则: 建议使用具有区间性的字段进行分区,比如日期、区域等。 RANGE PARTITION分区的上边界分区值应定义为MAXVALUE,防止数据溢出。 分区名称应体现分区的数据特征,例如使用关键字+区间特征进行命名。 【建议】分区数建议不超过100个,单个分区数据量建议不超过5千万,单分区的数据容量不超过50GB。 【说明】减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。 【建议】使用具有明显区间性的字段进行分区,比如日期、区域等字段上建立分区。 【建议】分区名称应当体现分区的数据特征。例如,关键字+区间特征。 【建议】将分区上边界的分区值定义为MAXVALUE,以防止可能出现的数据溢出。 表2 表的分区方式及使用场景 分区方式 描述 Range 表数据通过范围进行分区。 Interval 表数据通过范围进行分区,超出范围的会自动根据间隔创建新的分区。 List 表数据通过指定列按照具体值进行分区。 Hash 表数据通过Hash散列方式进行分区。 典型的分区表定义如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 --创建Range分区表 CREATE TABLE staffS_p1 ( staff_ID NUMBER(6) not null, FIRST_NAME VARCHAR2(20), LAST_NAME VARCHAR2(25), EMAIL VARCHAR2(25), PHONE_NUMBER VARCHAR2(20), HIRE_DATE DATE, employment_ID VARCHAR2(10), SALARY NUMBER(8,2), COMMISSION_PCT NUMBER(4,2), MANAGER_ID NUMBER(6), section_ID NUMBER(4) ) PARTITION BY RANGE (HIRE_DATE) ( PARTITION HIRE_19950501 VALUES LESS THAN ('1995-05-01 00:00:00'), PARTITION HIRE_19950502 VALUES LESS THAN ('1995-05-02 00:00:00'), PARTITION HIRE_maxvalue VALUES LESS THAN (MAXVALUE) ); --创建Interval分区表,初始两个分区,插入分区范围外的数据会自动新增分区 CREATE TABLE sales (prod_id NUMBER(6), cust_id NUMBER, time_id DATE, channel_id CHAR(1), promo_id NUMBER(6), quantity_sold NUMBER(3), amount_sold NUMBER(10,2) ) PARTITION BY RANGE (time_id) INTERVAL('1 day') ( PARTITION p1 VALUES LESS THAN ('2019-02-01 00:00:00'), PARTITION p2 VALUES LESS THAN ('2019-02-02 00:00:00') ); --创建List分区表 CREATE TABLE test_list (col1 int, col2 int) partition by list(col1) ( partition p1 values (2000), partition p2 values (3000), partition p3 values (4000), partition p4 values (5000) ); --创建Hash分区表 CREATE TABLE test_hash (col1 int, col2 int) partition by hash(col1) ( partition p1, partition p2 ); 更多的表分区语法信息参见CREATE TABLE PARTITION。
  • bgwriter_delay 参数说明:设置后端写进程写"脏"共享缓冲区之间的时间间隔。每一次,后端写进程都会为一些脏的缓冲区发出写操作,全量checkpoint模式用bgwriter_lru_maxpages参数控制每次写的量,然后休眠bgwriter_delay毫秒后才再次启动;增量checkpoint模式下,根据设定candidate_buf_percent_target计算目标空闲缓冲页面个数,不足时每隔bgwriter_delay毫秒刷一批页面下盘,刷页个数根据目标差距百分比计算,会根据max_io_capacity限制最大数量。 在许多系统上,休眠延时的有效分辨率是10毫秒。因此,设置一个不是10的倍数的数值与把它设置为下一个10的倍数是一样的效果。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,10~10000,单位为毫秒。 默认值:2s 设置建议:在数据写压力比较大的场景中可以尝试减小该值以降低checkpoint的压力。
  • pagewriter_sleep 参数说明:设置用于增量检查点打开后,pagewriter线程每隔pagewriter_sleep的时间刷一批脏页下盘。当脏页占据shared_buffers的比例达到dirty_page_percent_max时,每批页面数量以设定的max_io_capacity计算出的值刷页,其余情况每批页面数量按比例相对减少。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~3600000(毫秒) 默认值:2000ms(2s)
  • max_io_capacity 参数说明:设置后端写进程批量刷页每秒的I/O上限,需要根据具体业务场景和机器磁盘I/O能力进行设置。要求RTO很短时间或者数据量比共享内存大多倍的情况,业务访问数据量又是随机访问时,该值不宜过小。该参数设置较小会减小后端写进程刷页个数,如果业务触发页面淘汰多时,该值设置小会影响业务。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,30720~10485760。单位是KB。 默认值:512000KB(500MB)
  • bgwriter_lru_multiplier 参数说明:通过与已使用缓存区数目的乘积评估下次服务器需要的缓存区数目。 写“脏”缓存区到磁盘的数目取决于服务器最近几次使用的缓存区数目。最近的buffers数目的平均值乘以bgwriter_lru_multiplier是为了评估下次服务器进程需要的buffers数目。在有足够多的干净的、可用的缓存区之前,后端写进程会一直写“脏”缓存区的(每次写的缓存区数目不会超过bgwriter_lru_maxpages的值)。 设置bgwriter_lru_multiplier的值为1.0表示一种“实时”策略,其作用是精准预测下次写“脏”缓冲区的数目。设置为较大的值可以应对突然的需求高峰,而较小的值则可以让服务器进程执行更多的写操作。 设置较小的bgwriter_lru_maxpages和bgwriter_lru_multiplier会减小后端写进程导致的额外I/O开销,但是服务器进程必须自己发出写操作,增加了对查询的响应时间。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:浮点型,0~10。 默认值:2
  • qrw_inlist2join_optmode 参数说明:控制是否使用inlist-to-join查询重写。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 disable:关闭inlist2join查询重写。 cost_base:基于代价的inlist2join查询重写。 rule_base:基于规则的inlist2join查询重写,即强制使用inlist2join查询重写。 任意正整数:inlist2join查询重写阈值,即in子句内的list内元素个数大于该阈值,进行inlist2join查询重写。 默认值:cost_base
  • default_limit_rows 参数说明:设置生成genericplan的缺省limit估算行数。此参数设置为正数时意为直接将设置的值作为估算limit的行数;为正数小数时,自动取整;为负数时代表使用百分比的形式设置默认的估算值,负数转换为默认百分比,即-5代表5%。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:浮点型,-100~DBL_MAX。 默认值:-10
  • client_encoding 参数说明:设置客户端的字符编码类型。 请根据前端业务的情况确定。尽量客户端编码和服务器端编码一致,提高效率。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:兼容PostgreSQL所有的字符编码类型。其中UTF8表示使用数据库的字符编码类型。 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 参数建议保持默认值,不建议通过gs_guc工具或其他方式直接在postgresql.conf文件中设置client_encoding参数,即使设置也不会生效,以保证数据库内部通信编码格式一致。 默认值:UTF8 推荐值:SQL_ASCII/UTF8
  • lc_messages 参数说明:设置信息显示的语言。 可接受的值是与系统相关的。 在一些系统上,这个区域范畴并不存在,不过仍然允许设置这个变量,只是不会有任何效果。同样,也有可能是所期望的语言的翻译信息不存在。在这种情况下,用户仍然能看到英文信息。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • lc_time 参数说明:设置时间和区域的显示格式,影响to_char之类的函数的输出。可接受的值是系统相关的。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • lc_monetary 参数说明:设置货币值的显示格式,影响to_char之类的函数的输出。可接受的值是系统相关的。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • lc_numeric 参数说明:设置数值的显示格式,影响to_char之类的函数的输出。可接受的值是系统相关的。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • IntervalStyle 参数说明:设置区间值的显示格式。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 sql_standard表示产生与SQL标准规定匹配的输出。 postgres表示产生与PostgreSQL 8.4版本相匹配的输出,当DateStyle参数被设为ISO时。 postgres_verbose表示产生与PostgreSQL 8.4版本相匹配的输出,当DateStyle参数被设为non_ISO时。 iso_8601表示产生与在ISO 8601中定义的“格式与代号”相匹配的输出。 a表示与numtodsinterval函数相匹配的输出结果。 IntervalStyle参数也会影响不明确的间隔输入的说明。 默认值:postgres
  • extra_float_digits 参数说明:这个参数为浮点数值调整显示的数据位数,浮点类型包括float4、float8 以及几何数据类型。参数值加在标准的数据位数上(FLT_DIG或DBL_DIG中合适的)。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,-15~3 设置为3,表示包括部分关键的数据位。这个功能对转储那些需要精确恢复的浮点数据特别有用。 设置为负数,表示消除不需要的数据位。 默认值:0
  • DateStyle 参数说明:设置日期和时间值的显示格式,以及有歧义的输入值的解析规则。 这个变量包含两个独立的加载部分:输出格式声明(ISO、Postgres、SQL、German)和输入输出的年/月/日顺序(DMY、MDY、YMD)。这两个可以独立设置或者一起设置。关键字Euro和European等价于DMY;关键字US、NonEuro、NonEuropean等价于MDY。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:ISO, MDY gs_initdb会将这个参数初始化成与lc_time一致的值。 设置建议:优先推荐使用ISO格式。Postgres、SQL和German均采用字母缩写的形式来表示时区,例如“EST、WST、CST”等。这些缩写可同时指代不同的时区,比如CST可同时代表美国中部时间(Central Standard Time (USA) UT-6:00)、澳大利亚中部时间(Central Standard Time (Australia) UT+9:30)、中国标准时间(China Standard Time UT+8:00)。这种情况下在时区转化时可能会得不到正确的结果,从而引发其他问题。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全