0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

恒讯科技介绍:PostgreSQL服务器配置的参数指南

深圳市恒讯科技有限公司 来源:深圳市恒讯科技有限公司 作者:深圳市恒讯科技有 2023-06-16 17:36 次阅读

PostgreSQ服务器配置参数在优化和增强数据库性能方面发挥着重要作用。PostgreSQL的主要可调设置位于名为 postgresql.conf 的纯文本文件中,该文件位于数据库目录结构的底部。这些配置参数中的大多数大致分为以下几类:

1、数据库连接参数

2、记录参数

3、内存参数

下面,小编就详细给大家介绍一下PostgreSQL服务器配置的参数指南。

一、连接参数

有许多配置参数可以控制人们如何远程和本地连接到数据库。

1、监听地址

任何需要从远程系统连接的安装都需要更改listen_addresses以允许连接。默认情况下仅允许来自登录到与数据库服务器相同系统的用户的本地连接。一种常见的方法是接受来自任何地方的传入连接——就主配置文件而言,如下所示:listen_addresses = '*'

2、最大连接数

Max_connections是我们在initdb生成的postgresql.conf中总是会发现设置为一个值的设置之一,通常为100。因为每个连接都使用少量的共享内存,所以共享内存默认值特别有限的系统甚至可能不允许这么多连接。因此,在创建数据库集群时,initdb会进行一些调查,然后将支持的最大值(最多100)保存到默认配置中。实际上,每个客户端用于诸如排序之类的事情的非共享内存量将使它相形见绌,但不能完全忽略共享组件。

重要的是不要将此参数设置为比您需要的值高得多的值。较大的设置有几个缺点。第一个是浪费的共享内存,通常是最后一个要关注的事情,因为每个连接的数量很小。

二、记录参数

常规日志记录设置至关重要,因为日志记录在调试错误、警告和其他系统问题中起着至关重要的作用。我们可能需要设置log_destination、log_directory和log_filename等参数,以符合我们环境的系统管理要求的方式保存我们的日志文件。在大多数系统上,这些都将设置为合理的默认值以开始使用。在类UNIX系统上,一些数据库日志记录通常在启动和停止服务器的脚本中设置,而不是直接在postgresql.conf 文件中设置。

1、log_line_prefix

默认的log_line_prefix参数是空的,一个好的起始值如下:

这会将以下内容放入每个日志行:

%t:时间戳%u:数据库用户名%r:远程主机连接%d:数据库%p:连接的进程ID

2、日志语句

语句日志记录是一种用于查找性能问题的强大技术。分析log_statement保存的信息和语句级详细信息的相关来源可以揭示许多类型的性能问题的真正来源。此设置的选项如下:

none:不记录任何语句级信息。

ddl:仅记录数据定义语言(DDL)语句,例如CREATE和DROP。这通常可以保留,即使在生产中,也可以用于捕获管理员无意或有意引入的重大更改。

mod:记录任何修改值的语句,除了简单的SELECT语句外,它基本上是所有内容。如果我们的工作负载主要是基于SELECT且数据更改相对较少,则始终启用此功能可能很实用。

all:记录每条语句。由于日志记录的开销,这在生产中通常是不切实际的。但是,如果我们的服务器相对于它的工作负载来说足够强大,那么让它一直保持运行可能是可行的。

log_min_duration_statement

一旦我们对执行典型的查询语句需要多长时间有了一些了解,此设置允许您仅记录超过我们设置的阈值的语句。该值以毫秒为单位,因此我们可以设置以下内容:

log_min_duration_statement=1000

这样,我们将只会看到运行时间超过1秒的语句。这对于找出比大多数执行时间长得多的离群语句的来源非常方便。

三、内存参数

数据库组件需要内存来缓存频繁访问的数据、事务日志和排序数据。因此,正确调整内存参数至关重要,因为它可以帮助优化数据库性能。

1、共享缓冲区

该参数的值定义了PostgreSQL共享缓冲池的大小。换句话说,此参数控制PostgreSQL用于缓存数据的内存量。128 MB的默认值对于任何现实世界的工作负载来说都非常低,需要加强。此值应根据数据集大小设置,数据库服务器应该在峰值负载和可用RAM的基础上处理。事实上的经验法则是,在RAM超过1GB的系统上,此参数的合理值约为系统内存的四分之一。此参数的值也可以设置为更大的值,并且理想情况下有效的最大设置为可用RAM的40%。但是将它增加到超过该限制可能不会有效,因为PostgreSQL也依赖于操作系统缓存来进行操作。较大的shared_buffers参数值意味着增加 checkpoint_segments 值,以便在一段时间内分散写入大量新数据或更改数据的过程。此值只能在服务器启动时设置。

2、临时缓冲区

此参数定义每个数据库会话用于缓存临时表数据的内存量。这些基本上是会话本地缓冲区,仅用于访问临时表。在Postgresql版本9.4中,此参数的默认值为八,并且此设置可以在单个会话中更改,但只能在会话中首次使用临时表之前更改。任何后续更改该值的尝试都不会影响现有会话。

3、维护工作内存

此参数定义维护操作使用的最大内存量,即VACUUM、CREATE INDEX、ALTER TABLE ADD FOREIGN KEY 操作需要更多工作内存。要注意的是,这些会话中的许多会话不太可能同时执行这些操作,因此可以将此值设置为比标准每个客户端work_mem设置大得多的值。在PostgreSQL 版本9.4中,此参数的默认值设置为64MB。这里需要注意的一点是,当autovacuum运行时,autovacuum_max_workers的值分配此内存的次数。从优化的角度并考虑到没有增加autovacuum worker的数量,一个好的配置设置是将其设置为系统总内存的5%左右,这样即使五个这样的进程也不会超过可用内存的四分之一记忆。这大约相当于每GB服务器系统内存50 MB的maintenance_work_mem。

以上是PostgreSQL服务器配置的参数指南介绍,希望能帮助到大家参考!

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9015

    浏览量

    85169
  • 内存
    +关注

    关注

    8

    文章

    2998

    浏览量

    73873
  • 数据库
    +关注

    关注

    7

    文章

    3761

    浏览量

    64268
  • postgresql
    +关注

    关注

    0

    文章

    20

    浏览量

    209
收藏 人收藏

    评论

    相关推荐

    Python中代理服务器配置与应用

    一种强大的编程语言,提供了丰富的库和模块,使得实现和配置代理服务器变得相对简单。以下将详细介绍在Python中如何配置与应用代理服务器
    的头像 发表于 11-12 07:13 118次阅读

    配置rsyslog服务器

    配置rsyslog服务器
    的头像 发表于 11-11 11:13 129次阅读
    <b class='flag-5'>配置</b>rsyslog<b class='flag-5'>服务器</b>

    SMTP服务器配置教程

    1. 了解SMTP服务器 SMTP服务器是用于发送电子邮件的服务器。它使用SMTP协议来处理邮件的发送。配置SMTP服务器需要了解以下几个关
    的头像 发表于 10-30 16:16 437次阅读

    科技分析:代理服务器的类型有哪些?

    代理是最好的代理解决方案。高度匿名的代理也不会显示自己是代表我们工作的代理。这确保我们的数字曲目被覆盖,使其成为可用的最安全的代理服务器类型。以上是代理服务器的4大类型介绍,希望能帮助到大家了解!
    的头像 发表于 10-23 15:08 118次阅读
    <b class='flag-5'>恒</b><b class='flag-5'>讯</b>科技分析:代理<b class='flag-5'>服务器</b>的类型有哪些?

    科技分享:独立服务器的选择技巧

    间至关重要。科技的24/7 网络监控可确保最佳路由,而我们的托管安全服务可保护我们的数据免受病毒和恶意软件的侵害。我们提供来自配备各种IT知识的单层团队的个人支持。五、独立服务器
    的头像 发表于 10-23 15:08 82次阅读
    <b class='flag-5'>恒</b><b class='flag-5'>讯</b>科技分享:独立<b class='flag-5'>服务器</b>的选择技巧

    GPU高性能服务器配置

    GPU高性能服务器作为提升计算速度和效率的关键设备,在各大应用场景中发挥着越来越重要的作用。在此,petacloud.ai小编为你介绍GPU高性能服务器配置要点。
    的头像 发表于 10-21 10:42 150次阅读

    科技分析:站群服务器能建多少个网站?

    站群服务器是一种专门用于托管多个网站的服务器,它可以支持从几个到数千个网站,具体数量取决于服务器的硬件配置、带宽、存储空间以及所托管网站的复杂性和资源需求。以下是一些影响站群
    的头像 发表于 08-21 13:29 155次阅读

    高防服务器配置要素

    高防服务器配置通常包括硬件资源、网络资源、防护能力、弹性防护、清洗能力和业务支持等方面。下面将详细介绍高防服务器配置要素,rak部落小编为
    的头像 发表于 08-20 11:21 248次阅读

    云存储服务器怎么配置

    服务的核心设备,其配置直接影响到云存储的性能、可靠性和安全性。本文将详细介绍云存储服务器配置过程,包括硬件选择、软件安装、网络
    的头像 发表于 07-02 09:15 776次阅读

    科技分析:1Gbps企业服务器带宽多少钱?

    :国内主要云服务商提供的单台云服务器带宽上限一般为200M。如果需要更高的带宽,可能需要采用负载均衡技术或在服务器前端采用负载均衡策略。 2、1Gbps带宽的成本:在
    的头像 发表于 06-24 17:32 526次阅读

    香港裸机云多IP服务器都有哪些配置?

    香港裸机云多IP服务器是一种高效、灵活的云计算服务,为用户提供了多IP地址的配置选项,以满足各种复杂的网络需求。这种服务器配置上具有丰富的
    的头像 发表于 04-18 09:58 319次阅读

    服务器监控完整指南

    运行混合云环境时。下面,科技小编我给大家介绍下云服务器监控完整指南。 一、什么是云服务器监控
    的头像 发表于 03-20 17:19 382次阅读

    什么是web服务器?如何选择服务器配置

    )、LiteSped等。这些软件在配置和功能上略有不同,但其目标是提供高性能、可靠、安全的网页内容交付。 如何选择web服务器配置?这主要取决
    的头像 发表于 01-03 15:25 1055次阅读

    科技分析:香港服务器CDN配置教程

    配置香港服务器的CDN(内容分发网络)涉及多个步骤,主要目标是通过分发内容至全球各个节点,提高网站性能和降低加载时间。下面是一个简要的香港服务器CDN配置教程: 步骤1:选择CDN
    的头像 发表于 12-14 17:25 571次阅读

    DHCP服务器配置方法

    DHCP(动态主机配置协议)是一种用于自动分配IP地址和其他网络配置信息的协议。它可以使网络管理员更加方便地管理和配置大量的客户机。在本文中,我们将详细介绍如何
    的头像 发表于 11-27 14:48 1980次阅读