我想找出Postgresql的安装位置,需要对postgresql.conf和pg_hba.conf文件做一些修改,然后重启Postgresql。
有什么方法可以识别出适用于 Windows/Unix/Linux 的安装目录吗?任何帮助或建议将不胜感激。
我想找出Postgresql的安装位置,需要对postgresql.conf和pg_hba.conf文件做一些修改,然后重启Postgresql。
有什么方法可以识别出适用于 Windows/Unix/Linux 的安装目录吗?任何帮助或建议将不胜感激。
问 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 数据目录的“位置”的整个想法是错误的。
如果您正在编写依赖 PostgreSQL 的软件,请考虑将您自己的副本与 .zip 二进制文件捆绑在一起,pg_ctl
在非默认端口上启动并运行它,这样它就不会干扰用户可能已经安装的任何 PostgreSQL 安装在他们自己的系统上。
您可以定义自定义环境变量,POSTGRES_HOME
并使用它类似于JAVA_HOME
POSTGRES_HOME = /usr/local/pgsql
pg_hba.conf path = POSTGRES_HOME/data/pg_hba.conf