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

PostgreSQL .conf文件在哪里?


当前回答

答案可能是您还没有初始化数据库。在安装postgres之后,但在初始化数据库之前,postgres*. .SQL文件将不存在。初始化数据库后,postgres*.将出现SQL文件。(Centos 6, Postgres 9.3演示在这里)

[root@localhost /]# yum -y install postgresql93 postgresql93-server 
[root@localhost /]# ls /var/lib/pgsql/9.3/data/
[root@localhost /]#
[root@localhost /]# service postgresql-9.3 initdb
Initializing database:                                     [  OK  ]
[root@localhost /]# ls /var/lib/pgsql/9.3/data/
base         pg_ident.conf  pg_serial     pg_subtrans  pg_xlog
global       pg_log         pg_snapshots  pg_tblspc    postgresql.conf
pg_clog      pg_multixact   pg_stat       pg_twophase
pg_hba.conf  pg_notify      pg_stat_tmp   PG_VERSION
[root@localhost /]#

其他回答

Ubuntu 13.04使用软件中心安装:

我的位置是:

/etc/postgresql/9.1/main/postgresql.conf

打印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';"

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

在ubuntu中,你可以找到

/etc/postgresql/11/main/pg_hba.conf

// after change restart it otherwise it won't be work

service postgresql restart

我把它定位在这里:

/var/lib/pgsql/9.6/data/postgresql.conf