postgreSQL配置文件 postgresql.conf —— 千月的零基础学习PostgreSQL(2)

PostgreSQL 配置文件postgresql.conf
配置文件主要影响这服务器实例的基本行为,比如允许的连接数,操作允许占用的最大内存数,指定哪些用户可以用何种方式连接到数据库等等。当然这一切在数据库安装好时都有一个默认值,但是如果你需要对你的数据库进行定制的话,可以对这些数值进行符合需求的修改。
1、配置文件的位置
既然叫配置文件,那么他必须先是一个文件。我们知道Oracle的配置文件分为pfile 和 spfile,postgreSQL的配置文件有点类似于 pfile ,可以直接编辑。因为安装环境不同,所以配置文件的位置也有所区别,我们首先要找到配置文件在哪里。
进入psql环境。如果失败了,查看下告警内容,是不是没有切换到 postgres 用户下还是数据库没有启动。没有启动的话用下面的命令启动下。
/etc/init.d/postgresql start
当然也可以设置成开机自动启动。记得提前用 su - 切换到 root 用户再操作。
chkconfig -add postgresql

我们进入 psql 环境后使用如下命令来查找数据库的配置文件的位置。
select name,setting from pg_settings where category='File Locations‘;

基本上select 语句查询大家应该都很熟悉了。不太熟的可以去网上找个教程去补习下。这里几个注意点,其实和 oracle 的语法相同。 字符串用单引号扩起来,结尾使用分号结束
### 作用说明 `postgresql.auto.conf` 是 PostgreSQL 自 9.4 版本起引入的一个配置文件,用于补充 `postgresql.conf` 的功能。它与 `postgresql.conf` 在格式上保持一致,但主要用于存储由数据库自动更新的配置值。这种机制使得某些参数可以在运行时动态修改,而无需手动编辑主配置文件[^1]。 `postgresql.auto.conf` 文件通常包含一些通过 SQL 命令(如 `ALTER SYSTEM`)设置的配置项。这些配置项会在数据库重启后仍然保留,并且优先级高于 `postgresql.conf` 中的相同参数。这意味着如果两个文件中存在相同的配置项,`postgresql.auto.conf` 中的值会覆盖 `postgresql.conf` 中的值。 ### 配置内容示例 `postgresql.auto.conf` 文件的内容格式与 `postgresql.conf` 相同,采用键值对的形式进行配置。以下是一些常见的配置项示例: ```conf # 示例配置项 max_connections = 200 shared_buffers = 2GB work_mem = 10MB ``` 上述配置项分别用于控制最大连接数、共享缓冲区大小以及排序操作可用的内存大小。需要注意的是,虽然 `postgresql.auto.conf` 的内容格式与 `postgresql.conf` 相同,但它不应被直接编辑,而是通过 PostgreSQL 提供的命令进行修改。例如,使用 `ALTER SYSTEM` 命令来更新配置项: ```sql -- 设置 max_connections 参数 ALTER SYSTEM SET max_connections TO '200'; -- 设置 shared_buffers 参数 ALTER SYSTEM SET shared_buffers TO '2GB'; ``` 执行上述命令后,PostgreSQL 会自动将这些配置项写入 `postgresql.auto.conf` 文件中。为了使新的配置生效,需要重新加载配置或重启数据库服务: ```bash pg_ctl reload -D /path/to/data_directory ``` ### 注意事项 - **优先级**:`postgresql.auto.conf` 中的配置项优先级高于 `postgresql.conf`。因此,在两个文件中存在相同配置项的情况下,`postgresql.auto.conf` 中的值会被优先采用。 - **不可手动编辑**:尽管 `postgresql.auto.conf` 是一个文本文件,但它不建议被手动编辑。应使用 `ALTER SYSTEM` 命令来修改其内容,以确保配置的一致性和安全性。 - **适用场景**:该文件适用于那些需要在运行时动态调整的配置项。对于静态配置项(即必须在数据库启动时确定的配置),仍然需要在 `postgresql.conf` 中进行设置。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值