Ubuntu服务器上postgresql.conf和pg_hba.conf的位置


16

从Ubuntu存储库安装的文件在哪里postgresql.conf以及pg_hba.conf在运行PostgreSQL 8.4的Linux服务器上?


4
问题出在椅子和键盘上。这取决于您的安装方式。您使用源tar-gz文件还是使用apt实用程序。如果下载并压缩了tar压缩文件。除非您初始化数据目录,否则pg_hba.conf文件尚不存在。安装/自述文件具有该信息。您将在选择作为数据目录的任何位置找到pg_hba.conf文件。其次,如果您使用了apt实用程序,则应该在/etc/postgresql/8.4/main中找到它,也可以对文件名执行“查找”操作,但是在整个磁盘上执行此操作会消耗CPU。
Nikolas Sakic 2010年

从源安装到默认安装位置,请运行以下命令:/ usr / local / pgsql / bin / initdb -D / usr / local / pgsql / data在启动postgres之前,将在该目录中创建hba文件。
Nikolas Sakic 2010年

Answers:


16

在Google上寻找“ pg_hba.conf ubuntu”会给您

https://help.ubuntu.com/community/PostgreSQL

显示文件的位置。

该文档指出以下内容:

客户端身份验证由配置文件控制,该文件通常名为pg_hba.conf,并存储在数据库集群的数据目录中。(HBA表示基于主机的身份验证。)由initdb初始化数据目录时,将安装默认的pg_hba.conf文件。但是,可以将身份验证配置文件放置在其他位置。请参阅hba_file配置参数。

请注意,它表示存储在数据库集群的数据目录中,并且可以通过配置参数将其放置在其他位置。官方文档无法将您指向特定的文件夹,因为实际位置取决于操作系统制造商和计算机管理员如何设置PostgreSQL。请记住,PostgreSQL支持许多不同的操作系统(和Linux发行版)。

Neutrino所示,如果您可以通过psql访问服务器,则可以告诉它显示文件位置。

另外,有两个技巧:

  1. 查找将帮助您找到您知道名称但不知道位置的文件
  2. 基于Debian的发行版位于/ usr / share / doc文档中,以了解它们如何默认设置不同的软件包,我敢肯定,您会在/usr/share/doc/postgresql-8.4(或也许只是postgresql)下找到有关配置文件。如果他们已经修改了某些标准行为,则对阅读非常有用。

给男人一条鱼...等等,教男人如何钓鱼..等等。正确的方法是知道如何让postgres告诉您文件在哪里。普遍。show hba_file; 在psql中。参见@neutrino的答案。
Arnaud Meuret

当且仅当您可以访问正在运行的PostgreSQL实例时。如果您的HBA文件混乱,则可能无法执行。我已经链接到Neutrino的答案。
Vinko Vrsalovic

15

打开命令提示符。

> psql -U postgres
=# show hba_file;
=# show config_file

当他们更改配置设置的名称时,或者您想查看其他内容。

=# show all;



2

正如Vinko所说,位置取决于分布。添加到他的答案:

您的软件包管理软件将告诉您每个软件包在哪里安装文件(例如:)dpkg -L postgresql

您还可以查看服务启动脚本(通常为/etc/init.d/postgresql

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.