PostgreSQL服务器配置项中几个跟文件路径相关的配置

本文介绍了PostgreSQL数据库中配置文件路径的相关知识,包括data_directory、config_file、hba_file和ident_file等参数的用途和设置方法。这些参数用于指定数据存储路径、主配置文件、主机授权文件和用户名映射文件的位置。若要改变配置文件位置,可通过启动参数或环境变量进行设定,但要注意data_directory的设置会覆盖默认数据路径。

PostgreSQL的数据库参数配置主要通过postgresql.conf文件进行定义,其中有部分定义是跟文件路径有关的。

写在前面:有一次在配置数据库开放访问权限的时候,修改$PGDATA/pg_hba.conf文件重启后并没有生效,前前后后找了很长时间,最后发现是在postgresql.conf文件中修改了hba文件的路径导致的。本文就简要介绍一下与配置文件路径相关的这部分内容。

文件路径简要介绍

在PostgreSQL数据库中,除了postgresql.conf文件外,还有另外两个手工编辑的配置文件,用来控制客户端访问。默认情况下,这三个配置文件都在数据库的data目录下($PGDATA)。本段内容讨论的是如何任意指定这些配置文件放置在什么地方。(进行这种操作在一些管理场景下更容易,特别是在保证配置文件安全和及时本分的场景下)。

data_directory (string)

postgresql.conf文件中的这个配置参数,用来指定数据存储的路径。这个参数只有在数据库启动的时候才能生效。

config_file (string)

该配置用来指定主要的服务器配置文件位置(我们习惯称之为postgresql.conf)。该参数只能在postgres命令行进行指定。

hba_file (string)

postgresql.conf文件中的这个配置参数,用来指定基于主机授权的访问配置文件(习惯称之为pg_hba.conf文件)。该参数只能在数据库启动的时候才能生效。

ident_file (string)

postgresql.conf文件中的这个配置参数,用来指定用户名映射的配置文件(习惯称之为pg_ident.conf文件)。该参数只能在数据库启动的时候才能生效。

external_pid_file (string)

postgresql.conf文件中的这个配置参数,用来指定一个特定的PID文件,该文件为数据库服务创建,主要给服务端管理程序使用。该参数只能在数据库启动的时候才能生效。

PostgreSQL数据库服务默认安装情况下,以上参数已经被设定好。data路径可以通过-D命令行参数或者PGDATA环境变量来指定,所有的配置文件都在data路径下。

如果您不想将这些配置文件放在默认data路径下,那您首先需要通过-D参数或PGDATA环境变量来指定包含postgresql.conf配置文件的路径,然后将data_directory配置参数目录设置在postgresql.conf文件中,以指定实际数据路径的位置。此处注意:data_directory路径会覆盖-D和PGDATA指定的数据路径,但是不会覆盖配置文件的位置。

最后总结一下,您可以对config_file, hba_file and/or ident_file这几个文件进行单独的指定。config_file只能在postgres命令行进行指定,其他参数可以在配置文件中指定。如果这三个配置参数和data_directory都进行了单独的设定,那么就可以不指定-D或PGDATA。(指定这些文件位置时,如果使用相对路径,会采用postgres命令的位置进行相对获取)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿福Chris

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值