首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Java查找Postgresql安装位置

使用Java查找Postgresql安装位置
EN

Stack Overflow用户
提问于 2012-10-15 17:15:30
回答 2查看 650关注 0票数 0

我想找出Postgresql的安装位置,需要在postgresql.conf和pg_hba.conf文件中做一些更改,然后重启Postgresql。

有没有办法确定适用于Windows/Unix/Linux的安装目录?任何帮助或建议都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2012-10-15 20:53:52

问问PostgreSQL:

代码语言:javascript
运行
复制
SHOW config_file;
SHOW hba_file;

或者:

代码语言:javascript
运行
复制
SELECT current_setting('config_file');
SELECT current_setting('hba_file');

当然,这需要PostgreSQL在运行、侦听TCP/IP和默认端口。它还要求您能够进行身份验证。您需要提示用户输入端口(默认为5432)和凭据。

在不询问正在运行的PostgreSQL实例的情况下,没有通用的方法来确定PostgreSQL数据目录位置,因为:

在Mac上可能有多个正在运行的instance

  • PostgreSQL可能已通过Homebrew (Mac )、Postgres.app (Mac )、系统包管理(Linux)、端口(BSD)、EnterpriseDB安装程序、各种第三方汇总发行版本、.zip二进制文件或从source.

  • PostgreSQL启动和运行,可能从启动(Mac ),作为视窗服务( Windows ),从systemd/Postgres.app/init (Linux/BSD),由使用pg_ctl的用户手动启动和运行,等。可以在启动命令行上指定数据目录。

因此,认为您可以确定PostgreSQL数据目录的“位置”的整个想法都是错误的。

如果您正在编写依赖于PostgreSQL的软件,请考虑将您自己的副本与.zip二进制文件捆绑在一起,使用pg_ctl启动它,并在非默认端口上运行它,这样它就不会干扰用户自己在其系统上安装的任何PostgreSQL。

票数 1
EN

Stack Overflow用户

发布于 2012-10-15 17:18:49

您可以定义像POSTGRES_HOME这样的自定义环境变量,并与JAVA_HOME类似地使用它

代码语言:javascript
运行
复制
 POSTGRES_HOME  = /usr/local/pgsql
 pg_hba.conf path =  POSTGRES_HOME/data/pg_hba.conf
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12892532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档