PostgreSQL服务器配置参数

  • 时间:
  • 浏览:2
  • 来源:uu快3官网_uu快3登入

意味着着分析数据库会话一次这麼执行其中另有1个多 操作,因此 安装通常不用同去运行全都操作,因此 可都还都都可以将一种值设置为比work_mem大得多的值,较大的设置会提高清理和恢复数据库转储的性能。

initdb在创建数据库一定会根据系统信息,将支持的最大值(最多400),写入到配置文件中。

主要的可配置参数一定会 文件postgresql.conf中,该文件一般在$PGDATA目录下。

哪些配置参数大致分为如下几条类别:

意味着着分析你能取舍数据库含晒 效的查询时间,一种设置允许你只记录超过你设置的阈值的说说。

该值以毫秒为单位

设置的选项:

none:不记录任何说说级信息。

ddl:只记录数据定义语言(ddl)说说,如CREATE和DROP。通常可都还都都可以应用于实际生产环境中,因此 可都还都都可以用来捕获管理员意外或有意引入的更改。

mod:除了简单的SELECT说说外,记录任何修改值的说说。意味着着分析你的数据库主要用于查询,而这麼大量的修改,这麼始终启用该选项意味着着分析是可行的。

all:记录每个说说。意味着着分析日志记录的要占用大量的开销,通常在生产环境中保持一种状况是不切实际的。因此 ,意味着着分析你的服务器相对于它的工作负载来说足够强大,这麼可都还都都可以考虑开启它。

一种设置可都还都都可以在单独的会话中更改,因此 这麼在会话中第一次使用临时表之后更改。任何更改该值的后续尝试一定会 会对现有会话产生影响。

此参数在执行完initdb后自动生成,默认值为400。max_connections通常是都还都都可以 要设置的参数之一。每个连接一定会占用大量的共享内存,对于系统共享内存有限的系统,连接数也会有一定的限制。

控制远程和本地数据库连接的参数

对于内存超过1GB的系统,一种参数的合理值应该在系统内存的四分之一左右。

理想状况下,最大有效设置为可用RAM的40%,PostgreSQL的操作也依赖于操作系统缓存,将其增加到超过一种限制意味着着分析未必有效。

参数设置为合理的默认值,都还都都可以确保数据库都还都都可以正常启动。在类unix系统上,许多参数通常是在启动和关闭的脚本中设置,而一定会 直接在postgresql.conf文件中。

在实际使用中,每个客户端用于排序等事务的非共享内存将大大超过共享内存,但仍然这麼完整篇 忽略共享内存。

数据库都还都都可以 通过内存来缓存频繁访问的数据、事务日志和排序数据,正确调优内存参数可都还都都可以帮助优化数据库性能,掌握内存参数的配置非常重要。

该参数定义了PostgreSQL缓冲池的大小。换句话说,该参数定义了所有服务器内存中用于缓冲数据的内存大小。

默认值为128M。对于大多数真实的系统,一种值一定会 不足英文的,一般都都还都都可以 根据实际调整。

数据库默认只允许本地用户的登录。任何都还都都可以 远程进行连接的服务器,都都还都都可以 通过更改listen_address来实现一种点。

一种常见的配置是允许来自任何地方的连接,通常修改配置如下所示:

意味着着分析按照如上的法律最好的办法配置了该参数,输出的日志行将含晒 如下信息:

指定维护操作(如VACUUM、CREATE INDEX和ALTER TABLE ADD FOREIGN KEY)要使用的最大内存量,

默认大小为64M。

注意未必将一种参数设置为比你的实际都还都都可以 高这麼多。意味着着分析每个连接的数量很小,设置过大意味着着分析会造成共享内存的浪费。

在本篇文章中,给.我.我都将重点讨论Database Connection Parameters、Logging Parameters和Memory Parameters。另外两类主因此从系统/查询调优的深度1进行的,给.我.我都将在后续的文章中讨论。

日志只会记录运行时间超过1秒的说说。哪些异常值说说的执行时间要比大多数异常值说说长得多,这对于查找异常值说说非常方便。

日志在错误调试、警告和出理 许多系统大问题中扮演着至关重要的角色,日志的设置至关重要。你意味着着分析都还都都可以 设置参数,如log_destination、log_directory和log_filename,配合系统管理的都还都都可以 ,对日志进行保存。

大次要参数都还都都可以在postgresq.conf文件中进行手工修改。另一种更方便的法律最好的办法是使用ClusterControl,它允许从web界面进行所需的配置更改,允许进行更细粒度的控制,而不都还都都可以 最终用户直接定位和编辑后端的postgresql.conf文件。

说说级别的日志记录是用于发现性能大问题的重要技术。分析log_statement保存的信息以及相关的说说级完整篇 信息,可都还都都可以揭示许多类型的性能大问题的真正根源。

%t: Timestamp

%u: Database username

%r: Remote host connection

%d: Database

%p: Process ID of connection

哪些值的作用意味着着分析不用马上显现,尤其是守护线程池池ID。因此 一旦你尝试出理 许多性能大问题,保存哪些信息的作用就会非常明显,你意味着着分析会庆幸我本人记录了哪些数据。

注意,当autovacuum运行时,意味着着分析会分配最多autovacuum_max_workers倍的内存,全都还都都可以 注意未必将默认值设置得太高。

增加shared_buffers参数的大小,意味着着分析checkpoint_segments的值给.我.我都说要随之增加,以便在一段时间内分散读写大量新数据或更改数据。此值这麼在服务器启动时设置。

此参数定义每个会话用于缓存临时表数据的内存。

这是基本的本地会话缓冲区,这麼在用户访问临时表时使用,默认大小是8M。

PostgreSQL服务器配置参数在优化和增加服务器性能方面发挥着重要的作用。在大多数环境中,默认参数的配置无法满足性能要求。因此 了解重要的服务器参数可都还都都可以极大地影响数据库性能。理解哪些对于减少服务器停机时间(仅用于常规配置更改)以及确保在希望更改生效时调整所需的参数非常重要。