我最近在Ubuntu上安装了PostgreSQL和EnterpriseDB包。我可以连接到本地数据库,但我不能配置它,因为我找不到配置文件。我搜索了整个硬盘驱动器,只找到了像pg_hba.conf.sample这样的样本

PostgreSQL .conf文件在哪里?


当前回答

在Mac上(使用brew安装Postgres):

/usr/local/Cellar/postgresql/9.3.3>bin/postgres -D /usr/local/var/postgres/

其他回答

我喜欢这个线程,因为它记录了不同架构上各种postgresql.conf文件的默认位置…

但是,我也遇到了麻烦,因为我在安装时依赖这些默认值,而这些默认值已经指定了备用位置。一种方法是通过直接查询数据库来查找特定配置文件的位置:

Select * from pg_settings where name='config_file'

删除where子句以查看所有设置,这也很有启发性,因为它显示了数据目录、pg_hba.conf等的位置。

除了直接的答案,你可能还想看看关于Postgres配置文件位置的文档。

在大多数情况下:在$PGDATA下,通常是/var/lib/postgresql/data或类似的路径(如果使用Docker映像,至少它是默认路径)。

打印pg_hba.conf文件位置:

su - postgres -c "psql -t -P format=unaligned -c 'show hba_file';"

打印postgresql.conf文件位置:

su - postgres -c "psql -t -P format=unaligned -c 'SHOW config_file';"

如果您遵循亚马逊发布的在AWS上安装Postgresql的白皮书,其中包括在挂载在独立EBS卷上的文件系统上创建/data/目录,那么您的Postgresql .conf文件位于/data/

从中我得出结论,文件是在初始化数据目录期间创建的,并驻留在数据目录的根目录中。对于默认安装,这似乎是/var/lib/pgsql/data,但如果您移动了数据目录则不是

在linux上的默认位置是:

cd /etc/postgresql/12/main/

12-version 根据安装版本不同,版本可能不同