炫“库”行动-人大金仓有奖征文-服务器配置技巧之参数讲解 <二>

[本文正在参与炫“库”行动-人大金仓有奖征文]

活动地址:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb



一、常用参数详细说明

1.文件位置类型参数

1.1.data_directory (string)

  用于指定数据目录。这个选项只能在服务器启动时设置。

1.2.config_file (string)

  用于指定主服务器配置文件(通常叫kingbase.conf)。这个参数只能在kingbase命令行上设置。

1.3.hba_file (string)

  用于指定主机认证配置文件(通常叫sys_hba.conf)。这个选项只能在服务器启动时设置。

2.连接设置类型参数

2.1.listen_addresses (string)

  指定服务器在哪些TCP/IP地址上监听客户端连接。值的形式是一个逗号分隔的主机名和/或数字IP地址列表。
  特殊项*对应所有可用IP接口。
  特殊项0.0.0.0允许监听所有IPv4地址并且允许监听所有IPv6地址。
  如果列表为空,服务器将根本不会监听任何IP接口,在这种情况中只能使用Unix域套接字来连接它。
  默认值是localhost,它只允许建立本地TCP/IP"环回"连接。
  listen_addresses控制哪些接口接受连接尝试,这能帮助在不安全网络接口上阻止重复的恶意连接请求。这个参数只能在服务器启动时设置。

2.2.port (integer)

  服务器监听的TCP端口;默认是5432。这个参数只能在服务器启动时设置。

2.3.max_connections (integer)

  决定数据库的最大并发连接数。默认值通常是100个连接,但是如果内核设置不支持(initdb时决定),可能会比这个数少。这个参数只能在服务器启动时设置。

2.4.superuser_reserved_connections (integer)

  决定为Kingbase超级用户连接而保留的连接"槽"数。任何时候,当活跃的并发连接数等于max_connections减去superuser_reserved_connections,新连接就只能由超级用户发起了,并且不会有新的复制连接被接受。
  该参数默认值是3。这个值必须小于max_connections的值。这个参数只能在服务器启动时设置。

2.5.tcp_keepalives_idle (integer)

  指定不活动多少秒之后通过TCP向客户端发送一个keepalive消息。0值表示使用默认值。这个参数只有在支持TCP_KEEPIDLE或TCP_KEEPALIVE符号的系统或Windows上才可以使用(注意:在Windows上,值若为0,系统会将该参数设置为2小时,因为Windows不支持读取系统默认值。)。在其他系统上,它必须为零。在通过Unix域套接字连接的会话中,这个参数被忽略并且总是读作零。

2.6.tcp_keepalives_interval (integer)

  指定在多少秒之后重发一个还没有被客户端告知已收到的TCPkeepalive消息。0值表示使用系统默认值。这个参数只有在支持TCP_KEEPINTVL符号的系统或Windows上才可以使用(注意:在Windows上,值若为0,系统会将该参数设置为1秒,因为Windows不支持读取系统默认值。)。在其他系统上,必须为零。在通过Unix域套接字连接的会话中,这个参数被忽略并总被读作零。

2.7.tcp_keepalives_count (integer)

  指定与客户端的服务器连接被认为死掉之前允许丢失的TCPkeepalive数量。0值表示使用系统默认值。这个参数只有在支持TCP_KEEPCNT符号的系统上才可以使用。在其他系统上,必须为零。在通过Unix域套接字连接的会话中,这个参数被忽略并总被读作零。

3.安全和认证类型参数

3.1.authentication_timeout (integer)

  完成客户端认证的最长时间,以秒计。如果一个客户端没有在这段时间里完成认证协议,服务器将关闭连接。这样就避免了出问题的客户端无限制地占有一个连接。默认值是1分钟(1m)。这个参数只能在服务器命令行上或者在kingbase.conf文件中设置。

4.内存类型参数

4.1.shared_buffers (integer)

  设置数据库服务器将使用的共享内存缓冲区量。默认通常是128兆字节(128 MB),但是如果你的内核设置不支持(在initdb时决定),那么可以会更少。这个设置必须至少为128千字节(BLCKSZ的非默认值将改变最小值)。不过为了更好的性能,通常会使用明显高于最小值的设置。
  如果有一个专用的1GB或更多内存的数据库服务器,一个合理的shared_buffers开始值是系统内存的25%。即使很大的shared_buffers有效,也会造成一些工作负载,但因为Kingbase同样依赖操作系统的高速缓冲区,将shared_buffers设置为超过40%的RAM不太可能比一个小点值工作得更好。为了能把对写大量新的或改变的数据的处理分布在一个较长的时间段内,shared_buffers更大的设置通常要求对max_wal_size也做相应增加。
  如果系统内存小于1GB,一个较小的RAM百分数是合适的,这样可以为操作系统留下足够的空间。同时,在Windows上,shared_buffers设置得较大也不一定有效。你会发现保持相对低的设置并且更多使用操作系统高速缓存会得到更好的结果。Windows上可用的shared_buffers值通常是从64MB到512MB。

5.磁盘类型参数

5.1.temp_file_limit (integer)

  指定一个会话能用于临时文件(如排序和哈希临时文件,或者用于保持游标的存储文件)的最大磁盘空间量。一个试图超过这个限制的事务将被取消。这个值以千字节计,并且-1(默认值)意味着没有限制。只有超级用户能够修改这个设置。
  这个设置约束着一个给定Kingbase会话在任何瞬间所使用的所有临时文件的总空间。应该注意的是,与在查询执行中在幕后使用的临时文件相反,显式临时表所用的磁盘空间不被这个设置所限制。

6.内核资源使用类型参数

6.1.max_files_per_process (integer)

  设置每个服务器子进程允许同时打开的最大文件数目。默认是1000个文件。如果内核强制一个安全的针对每个进程的限制,那么你不用操心这个设置。但是在一些平台上(特别是大多数BSD系统),如果很多进程都尝试打开很多文件,内核将允许独立进程打开比整个系统真正可以支持的数目大得多得文件数。如果你发现自己看到了"Too many open files"这样的失败,可尝试减小这个设置。这个参数只能在服务器启动时设置。

7.日志输出类型参数

7.1.log_destination (string)

  Kingbase支持多种方法来记录服务器消息,包括stderr、csvlog和syslog。在Windows上还支持eventlog。设置这个参数为一个由想要的日志目的地的列表,之间用逗号分隔。默认值是只记录到stderr。这个参数只能在kingbase.conf文件中或在服务器命令行上设置。

7.2.logging_collector (boolean)

  这个参数启用日志收集器,它是一个捕捉被发送到stderr的日志消息的后台进程,并且它会将这些消息重定向到日志文件中。这种方法比记录到syslog通常更有用,因为某些类型的消息不会在syslog输出中出现(一个常见的例子是动态链接器错误消息;另一个例子是由archive_command等脚本产生的错误消息)。这个参数只能在服务器启动时设置。

7.3.log_directory (string)

  当logging_collector被启用时,这个参数决定日志文件将被在哪个目录下创建。它可以被指定为一个绝对路径,也可以被指定为一个相对于集簇数据目录的相对路径。这个参数只能在kingbase.conf文件中或在服务器命令行上设置。默认是pg_log。

7.4.log_filename (string)

  当logging_collector被启用时,这个参数设置被创建的日志文件的文件名。该值被视为一种strftime模式,因此%转义可以被用来指定根据时间变化的文件名(注意如果有任何时区独立的%转义,计算将在由log_timezone指定的时区中完成)。被支持的%转义和开放组织的strftime说明中列举的类似。注意系统的strftime不会被直接使用,因此平台相关(非标准)的扩展无法工作。默认是kingbaseql-%Y-%m-%d_%H%M%S.log。

8.日志内容类型参数

8.1.debug_print_parse (boolean)、debug_print_rewritten (boolean)、debug_print_plan (boolean)

  这些参数将会让多种调试输出被发出。当被设置时,它们为每一个被执行的查询打印结果分析树、查询重写器输出或执行计划。这些消息在LOG消息级别上被发出,因此默认情况下它们将出现在服务器日志中但不会被发送到客户端。你可以通过调整client_min_messages和/或log_min_messages来改变这种情况。这些参数默认是关闭的。

9.语句行为类型参数

9.1.search_path (string)

  这个变量指定当一个对象(表、数据类型、函数等)被用一个无模式限定的简单名称引用时,用于进行搜索该对象的模式顺序。当在不同模式中有同名对象时,将使用第一个在搜索路径中被找到的对象。一个不属于搜索路径中任何一个模式的对象只能通过用限定名(带点号)指定包含它的模式来引用。
  search_path的值必需是一个逗号分隔的模式名列表。任何不是一个已有模式的名称,或者是一个用户不具有USAGE权限的模式,将被忽略。

9.2.default_tablespace (string)

  这个变量指定当一个CREATE命令没有显式指定一个表空间时,创建对象(表和索引)的默认表空间。
  该值要么是一个表空间的名字,要么是一个指定使用当前数据库默认表空间的空字符串。如果该值和任何现有表空间的名字都不匹配,kingbaseQL将自动使用当前数据库的默认表空间。如果指定了一个非默认的表空间,用户必须对它有CREATE权限,否则创建企图将失败。




[本文正在参与炫“库”行动-人大金仓有奖征文]
活动地址:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值