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

PostgreSQL .conf文件在哪里?


当前回答

在CentOS 7和PostgreSQL 9.4中,它在以下目录中:

/var/lib/pgsql/9.4/data

当我以root用户登录时,我可以看到它。

其他回答

Run

sudo updatedb

紧随其后的是

locate postgresql.conf

或者问问你的数据库:

$ psql -U postgres -c 'SHOW config_file'

或者,如果以ubuntu用户登录:

$ sudo -u postgres psql -c 'SHOW config_file'

如果您刚刚安装了它,locate可能不起作用。在这种情况下,服务应该正在运行,您可以运行

ps aux  | grep 'postgres *-D'

查看postgresql-master从哪里加载配置文件。

如果你在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 "中

要获得pg_hba.conf文件的位置,还可以像这样查询数据库

SHOW hba_file;

你应该买

            hba_file             
---------------------------------
 /var/lib/pgsql/data/pg_hba.conf
(1 row)