我最近在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 /]#

其他回答

对于Debian 9,我使用Franke Heikens的答案- $ /etc/postgresql/9.6/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

因为我没有访问postgres帐户(所以不能运行SHOW config_file),我的postgres安装在Windows上,没有一个答案对我有帮助,所以我把我的文件位置分享给未来的Windows读者:

C:\Program Files\PostgreSQL\9.5\data

对于ubuntu 18/20,执行以下命令找到postgresql.conf文件:

locate postgresql.conf

如果你的linux中没有locate,那么先运行sudo apt-get install locate来安装locate。

或者问问你的数据库:

$ psql -U postgres -c 'SHOW config_file'

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

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