在CentOS 8中从pgdg存储库安装postgresql 12-server后,未找到pg_ctl

cwtwac6a  于 2022-11-08  发布在  PostgreSQL
关注(0)|答案(1)|浏览(401)

我最近通过PostgreSQL官方存储库(而不是CentOS)安装了PostgreSQL 12。(https://yum.postgresql.org/12/redhat/rhel-8-x86_64
但是,在设置过程后找不到pg_ctl命令。
我已经我做了:

rpm -ql postgresql12-server |grep pg_ctl
/usr/pgsql-12/bin/pg_ctl
/usr/pgsql-12/share/man/man1/pg_ctl.1

它不是在PATH环境变量中加载的pgsql-12目录。我在/etc/profile.d/中查看了一下,我得到了这个:

ls /etc/profile.d/
colorgrep.csh  colorxzgrep.csh  colorzgrep.csh  csh.local  gawk.sh   lang.sh   less.sh
colorgrep.sh   colorxzgrep.sh   colorzgrep.sh   gawk.csh   lang.csh  less.csh  sh.local

所以......我没有找到任何名为pgsql或引用pgsql的文件。
我执行:

grep -rlio pgsql /etc/profile.d/

我没有得到任何东西...所以,我明白为什么没有位于pg_ctl的Bash.
postgres用户也找不到它。(我以为它有一个.bash_profile,里面有PATH,但它不是)

mbyulnm0

mbyulnm01#

这怎么解决呢?

  • /etc/profile.d/pgsql.sh中创建文件
  • 添加以下行并保存文件:

# !/bin/bash

PATH=${PATH}:/usr/pgsql-12/bin
export PATH
  • 运行此命令以更新当前PATH:
source /etc/profile.d/pgsql.sh
  • 现在检查路径:
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/pgsql-12/bin
  • 运行pg_ctl --help
pg_ctl is a utility to initialize, start, stop, or control a PostgreSQL server.

Usage:
[...]

就这样了!

相关问题