我最近在Ubuntu上安装了PostgreSQL和EnterpriseDB包。我可以连接到本地数据库,但我不能配置它,因为我找不到配置文件。我搜索了整个硬盘驱动器,只找到了像pg_hba.conf.sample这样的样本
PostgreSQL .conf文件在哪里?
我最近在Ubuntu上安装了PostgreSQL和EnterpriseDB包。我可以连接到本地数据库,但我不能配置它,因为我找不到配置文件。我搜索了整个硬盘驱动器,只找到了像pg_hba.conf.sample这样的样本
PostgreSQL .conf文件在哪里?
当前回答
如果你在docker容器中有postgres,可能你正在绑定。conf文件,要找到你在docker外部使用的。conf文件,运行docker inspect postgres11或postgres容器名称或id。该命令返回一个json,查找类似于
"HostConfig": {
"Binds": [
"/home/my_user/postgres11/:/var/lib/postgresql/data"
]
如果执行SHOW config_file;结果在/var/lib/postgresql/data/postgresql.conf中,那么你就知道外面的。conf文件在/home/my_user/postgres11/postgresql.conf中,或者结果在属性" bindings "中
其他回答
如果您遵循亚马逊发布的在AWS上安装Postgresql的白皮书,其中包括在挂载在独立EBS卷上的文件系统上创建/data/目录,那么您的Postgresql .conf文件位于/data/
从中我得出结论,文件是在初始化数据目录期间创建的,并驻留在数据目录的根目录中。对于默认安装,这似乎是/var/lib/pgsql/data,但如果您移动了数据目录则不是
Ubuntu 13.04使用软件中心安装:
我的位置是:
/etc/postgresql/9.1/main/postgresql.conf
对于CentOS 6和7以及postgresql 9.2(以及以下版本,我想可能也包括Fedora和Redhat):
/ var / lib / pgsql数据
对于CentOS 6和7 postgresql 9.3或9.4(以及以上版本,我想):
/var/lib/pgsql/9.3/data
/var/lib/pgsql/9.4/data
对于Ubuntu 14和postgresql 9.3:
/etc/postgresql/9.3/main/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等的位置。