暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL 配置

原创 eternity 2022-09-14
320

自从我开始使用PostgreSQL以来,配置参数的数量增长了很多。在编写本文时的当前版本PostgeSQL 14中,目前有346个参数可以配置。

在大多数情况下,不必触摸它们中的大多数。另一方面,默认配置除了嵌入式环境之外,几乎任何东西都不可用。

查看配置参数

这可以通过SQL轻松解决:

SHOW ALL;
复制

这将导致所有参数的三列列表及其当前设置和参数的详细描述。
或者,您可以只查询系统表,这将为您提供更多的列:
image.png

或者,您可以只查询系统表,这将为您提供更多的列:

SELECT *
FROM pg_settings
;
复制

单配置参数设置

当然,您可以使用SQL语句查看单个参数设置:

SHOW shared_buffers;
## ```
配置类别

有一列不是显示所有结果的一部分:类别。这些类别可以帮助您,在哪里查看。


这将当前的配置分为40个类别。这些可分为15个主要类别:
```language
/******************************
Calculation of subgroups
by converting the categories
into an array
******************************/
SELECT (
    string_to_array (
      category, ' / '
		)
  )[1] AS category
  , count(*) AS subgroups
FROM pg_settings
GROUP BY 1  
ORDER BY 1
;
复制

image.png
image.png

有关参数的更多信息

有一个网站,您可以在其中查看有关参数的更多信息:postgresqlCO.NF。它不仅为您提供了一个关于参数的良好概述,而且还直接链接到该参数的PostgreSQL文档。

此外,您还可以搜索源代码,以找出该参数在PostgreSQL源代码中的位置。

用于调整配置的工具

用于生成配置的工具并不是DBA的完全替代品,它们也不应该是DBA的替代品,但它们可能会为您提供一个起点。

Cybertec PostgreSQL配置程序

Cybertec PostgreSQL配置器是一个不错的工具,其设置基于PostgreSQL的可能使用。

在编写本文时,最新支持的版本是13。

PGTune

PGTune是另一个工具,用于获得良好的配置。它不像Cybertec的工具那样详细。

在编写本文时,最新支持的版本是14。

配置提示

一些配置参数甚至是基于连接的,但它们不是postgresql的一部分。conf文件。例如,如果您的客户端设置了连接名,您可以在“application_name”中看到。在数据库连接中设置它可能很有用,因为它会进入日志文件。

例如,这可能有助于找到运行缓慢查询的应用程序。

如果您不知道在哪里可以找到配置,您只需要询问数据库:

SHOW config_file;
复制

从docker容器中的PostgreSQL,它是:

config_file
/var/lib/postgresql/data/postgresql.conf
复制

注意运行Patroni和/或Kubernetes

Patroni

当您使用Patroni运行PostgreSQL时,您永远不应该更改PostgreSQL.conf中的配置。Patroni有自己的配置处理,它会确保所有节点都具有相同的配置。

如果您正在使用该工具配置数据库,请使用Ansible进行更改,或者使用patronictl。

Kubernetes

在Kubernetes上,您必须更改正在使用的操作符的YAML文件中的配置。最近,我们在PostgreSQL的Kubernetes体验上写了一些PostgreSQL操作符。

原文标题:PostgreSQL Configuration
原文作者:STEFANIE JANINE STÖLTING
原文链接:https://proopensource.it/blog/postgresql-configuration

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论