解决zabbix用户无法使用psql命令的问题

解决zabbix用户无法使用psql命令的问题

1. 创建文件夹

登录zabbix用户,创建所需的文件夹。

su - zabbix
cd /home/zabbix
mkdir lib
mkdir zabbix_env
mkdir pg_bin
vi test.sh
# 创建测试脚本
vi test.sh
cat test.sh 
PGSHELL_CONFDIR="$1"
source $PGSHELL_CONFDIR/zabbix_shell.conf 
$PSQL -c 'select version();'

2. 拷贝psql命令及依赖包

su root
cp /usr/local/fbase/16.3/bin/psql /home/zabbix/pg_bin/
cp -r -f /usr/local/fbase/16.3/lib/* /home/zabbix/lib/

检查这些文件是否有即可。

3. 创建pg的配置文件

su zabbix
cd /home/zabbix/zabbix_env
vi zabbix_shell.conf
cat zabbix_shell.conf
export PSQL=/home/zabbix/pg_bin/psql
export LD_LIBRARY_PATH=/home/zabbix/lib:$LD_LIBRARY_PATH
export PGDATABASE=postgres
export PGUSER=fbase
export PGPORT=8432
export PGHOST=localhost

4. 执行测试脚本

执行测试脚本,能够正常运行即成功。

chmod +x test.sh
[zabbix@pgsql-master ~]$ ./test.sh /home/zabbix/zabbix_env
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 16.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
(1 row)
posted @   零の守墓人  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示