我最近在Ubuntu上安装了PostgreSQL和EnterpriseDB包。我可以连接到本地数据库,但我不能配置它,因为我找不到配置文件。我搜索了整个硬盘驱动器,只找到了像pg_hba.conf.sample这样的样本
PostgreSQL .conf文件在哪里?
我最近在Ubuntu上安装了PostgreSQL和EnterpriseDB包。我可以连接到本地数据库,但我不能配置它,因为我找不到配置文件。我搜索了整个硬盘驱动器,只找到了像pg_hba.conf.sample这样的样本
PostgreSQL .conf文件在哪里?
当前回答
nantha=# SHOW config_file;
config_file
/var/lib/postgresql/data/postgresql.conf (1 行)
nantha=# SHOW hba_file;
hba_file
/var/lib/postgresql/data/pg_hba.conf (1 行)
其他回答
对于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配置文件位置的文档。
在大多数情况下:在$PGDATA下,通常是/var/lib/postgresql/data或类似的路径(如果使用Docker映像,至少它是默认路径)。
如果您刚刚安装了它,locate可能不起作用。在这种情况下,服务应该正在运行,您可以运行
ps aux | grep 'postgres *-D'
查看postgresql-master从哪里加载配置文件。
对于Debian 9,我使用Franke Heikens的答案- $ /etc/postgresql/9.6/main/postgresql.conf
我喜欢这个线程,因为它记录了不同架构上各种postgresql.conf文件的默认位置…
但是,我也遇到了麻烦,因为我在安装时依赖这些默认值,而这些默认值已经指定了备用位置。一种方法是通过直接查询数据库来查找特定配置文件的位置:
Select * from pg_settings where name='config_file'
删除where子句以查看所有设置,这也很有启发性,因为它显示了数据目录、pg_hba.conf等的位置。