我最近在Ubuntu上安装了PostgreSQL和EnterpriseDB包。我可以连接到本地数据库,但我不能配置它,因为我找不到配置文件。我搜索了整个硬盘驱动器,只找到了像pg_hba.conf.sample这样的样本
PostgreSQL .conf文件在哪里?
我最近在Ubuntu上安装了PostgreSQL和EnterpriseDB包。我可以连接到本地数据库,但我不能配置它,因为我找不到配置文件。我搜索了整个硬盘驱动器,只找到了像pg_hba.conf.sample这样的样本
PostgreSQL .conf文件在哪里?
当前回答
在Mac OS X上:
sudo find / -name postgresql.conf
您可以通过下面的命令找到其他的conf文件:
sudo find / -name pg\*.conf
注:参见用法using man:
man find
其他回答
我喜欢这个线程,因为它记录了不同架构上各种postgresql.conf文件的默认位置…
但是,我也遇到了麻烦,因为我在安装时依赖这些默认值,而这些默认值已经指定了备用位置。一种方法是通过直接查询数据库来查找特定配置文件的位置:
Select * from pg_settings where name='config_file'
删除where子句以查看所有设置,这也很有启发性,因为它显示了数据目录、pg_hba.conf等的位置。
在CentOS 7和PostgreSQL 9.4中,它在以下目录中:
/var/lib/pgsql/9.4/data
当我以root用户登录时,我可以看到它。
对于ubuntu 18/20,执行以下命令找到postgresql.conf文件:
locate postgresql.conf
如果你的linux中没有locate,那么先运行sudo apt-get install locate来安装locate。
打印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';"
要获得pg_hba.conf文件的位置,还可以像这样查询数据库
SHOW hba_file;
你应该买
hba_file
---------------------------------
/var/lib/pgsql/data/pg_hba.conf
(1 row)