linux - 在 CentOS 8 中从 pgdg 存储库安装 postgresql12-server 后找不到 pg_ctl
问题描述
我最近通过 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 的文件。
我执行:
grep -rlio pgsql /etc/profile.d/
我什么也没得到……所以,我明白为什么 Bash 没有找到 pg_ctl。
postgres
用户也找不到它。(我以为里面有一个带有 PATH 的 .bash_profile 但事实并非如此)
解决方案
如何解决这个问题?
在中创建文件
/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:
[...]
就这样!
推荐阅读
- python - Python vs R / Matlab实现复数的指数
- java - 根据设备的时间执行方法
- exception - SharpSnmpLib 使用库 SharpSnmpLib 的 SNMP 读取异常
- css - 如何将这两个较少的@Media 查询与“或”条件结合起来?
- java - Java存储过程中ODCITableDescribe的实现
- api-platform.com - Api-Platform GET itemOperation 通过电子邮件或用户名获取用户
- r - 如何在 which() 函数中只返回想要的向量
- mongodb - Mongo转储并恢复到不同的集群,我无法登录
- database - 用于大型临时数据的 GCP 存储
- python - 如何在odoo 10中存储和检索时区敏感日期