我想找出Postgresql的安装位置,需要在postgresql.conf和pg_hba.conf文件中进行一些更改,然后重新启动Postgresql。
有没有办法识别可以应用于Windows / Unix / Linux的安装目录?任何帮助或建议都将非常感激。
答案 0 :(得分:1)
问问PostgreSQL:
SHOW config_file;
SHOW hba_file;
或:
SELECT current_setting('config_file');
SELECT current_setting('hba_file');
当然,这需要PostgreSQL运行,侦听TCP / IP以及默认端口。它还要求您能够进行身份验证。您需要提示用户输入端口(默认为5432)和凭据。
没有通用方法来确定PostgreSQL数据目录位置而不询问正在运行的PostgreSQL实例,因为:
pg_ctl
用户手动启动等。可以在启动命令行上指定数据目录。因此,你可以弄清楚PostgreSQL datadir的“位置”的整个想法是假的。
如果您正在编写依赖于PostgreSQL的软件,请考虑将您自己的副本与.zip二进制文件捆绑在一起,从pg_ctl
开始并在非默认端口上运行它,这样它就不会干扰任何PostgreSQL安装用户可能已经自己安装了他们的系统。
答案 1 :(得分:0)
您可以定义自定义环境变量,例如POSTGRES_HOME
,并使用类似于JAVA_HOME
POSTGRES_HOME = /usr/local/pgsql
pg_hba.conf path = POSTGRES_HOME/data/pg_hba.conf