linux 查看pgsql端口,如何通过Linux脚本检查是否已安装PostgreSQL?
如何通过Linux脚本检查是否已安装PostgreSQL?
我想检入一个脚本,看看是否在Linux上安装了PostgreSQL并打印结果。有关如何进行检查的任何建议?
11个解决方案
70 votes
尝试echo $?命令怎么办?
如果要运行echo $?,但未安装Postgres,则似乎没有输出。 您只需准备好终端提示符即可接受另一个命令:
> which psql
>
但是,如果安装了Postgres,您将获得一个响应,并带有指向Postgres安装位置的路径:
> which psql
/opt/boxen/homebrew/bin/psql
查看echo $?,似乎还有一个可以帮助您的选择:
-s No output, just return 0 if any of the executables are found, or
1 if none are found.
因此,似乎只要您使用的任何脚本语言都可以执行终端命令,您就可以发送echo $?,并使用返回值确定是否已安装Postgres。 从那里您可以按自己的喜好打印结果。
我的机器上确实安装了postgres,所以我运行以下命令
> which -s psql
> echo $?
0
告诉我该命令返回了0,表示在我的计算机上找到了Postgres可执行文件。
这是有关使用echo $?的信息
campo answered 2020-02-22T02:26:41Z
8 votes
如果是基于debian的。
aptitude show postgresql | grep State
但是我想您可以尝试使用诸如--version之类的标志启动它,该标志仅打印一些信息并退出。
使用“服务postgres状态”进行了更新。 尝试:
service postgres status
if [ "$?" -gt "0" ]; then
echo "Not installed".
else
echo "Intalled"
fi
Draco Ater answered 2020-02-22T02:27:09Z
5 votes
没有直接的方法可以做到这一点。 您所要做的就是与程序包管理器(rpm,dpkg)进行检查,或者探查所需文件的可能位置。 或者,您可以尝试连接到可能的端口(5432),看看是否收到PostgreSQL协议响应。 但是,这一切都不会非常强大。 您可能需要查看您的要求。
Peter Eisentraut answered 2020-02-22T02:27:30Z
4 votes
没有一种简单的方法可以执行此操作,因为PostgreSQL可以通过许多不同的方式进行安装和设置:
从源安装在用户主目录中
从源安装到psql或PATH中,手动启动或由init脚本启动
从分发服务器psql/PATH软件包安装并通过init脚本启动
从第3方psql/PATH软件包安装,并通过init脚本启动
从软件包安装但未设置为开始
已安装客户端,连接到另一台计算机上的服务器
已安装并正在运行,但不在默认的psql或默认端口上
您不能依靠PATH上的psql。不能依靠系统上只有一个psql(可能以不同的方式安装多个版本)。 您不能基于端口执行此操作,因为不能保证它位于端口5432上,或者不能保证没有多个版本。
提示用户并询问他们。
Craig Ringer answered 2020-02-22T02:28:32Z
4 votes
如果您运行的是Debian Linux(或衍生版本),并且如果返回正值> which psql,则只需键入psql -V(大写“ V”),您将得到如下收益:psql (PostgreSQL) 9.4.8
Roland Shield answered 2020-02-22T02:28:54Z
3 votes
而且,如果其他一切都因这些出色的答案而失败,那么您始终可以像这样使用“查找”。 否则您可能需要使用sudo
如果您是root用户,只需键入$$> find / -name 'postgres'
如果您是用户,则需要sudo priv才能在所有目录中运行它
我以这种方式从pg_hba.conf基础运行,以找到在其中找到该元素的整个路径。这将返回其中带有“ postgres”的所有文件或目录。
寻找pg_hba.conf或275818855835055005500文件也可以做同样的事情。
netfluence answered 2020-02-22T02:29:32Z
2 votes
转到postgres db的bin目录,例如/opt/postgresql/bin并运行以下命令:
[...bin]# ./psql --version
psql (PostgreSQL) 9.0.4
干得好 。 。
Finn answered 2020-02-22T02:29:56Z
2 votes
aptitude show postgresql | grep Version为我工作
user2584621 answered 2020-02-22T02:30:16Z
1 votes
我们可以简单地写:
psql --version
输出显示如下:
psql (PostgreSQL) 11.5 (Ubuntu 11.5-1.pgdg18.04+1)
Chandan Sharma answered 2020-02-22T02:30:40Z
0 votes
您也可以在以下路径/opt/PostgresPlus/9.5AS/bin/中检入/opt安装
vinoy vincent answered 2020-02-22T02:31:01Z
0 votes
多年以来,我一直使用以下命令:
ps aux | grep postgres
一方面,它是有用的(对于任何过程),并且给出了有用的信息(但来自过程POV)。 但另一方面,它用于检查您已经安装的服务器是否正在运行。
在某种程度上,我找到了本教程,其中显示了locate命令的用法。 在这种情况下,看起来该命令更重要了。
johnniepop answered 2020-02-22T02:31:30Z
linux 查看pgsql端口,如何通过Linux脚本检查是否已安装PostgreSQL?相关推荐
- linux查看80端口连接ip,Linux通过netstat命令查看80端口连接数的方法
服务器上的一些统计数据: 1)统计80端口连接数 netstat -nat|grep -i "80"|wc -l 2)统计httpd协议连接数 ps -ef|grep httpd| ...
- linux查看某端口进程占用,Linux下查看某端口占用进程
文章分类:操作系统 在Linux操作系统中 查看占用某一端口的进程是什么:#lsof -i:端口号 或者 netstat -apn | grep redis [root@192_168_56_28 ~ ...
- linux查看串口端口,规范模式Linux串行端口
小编典典 是否将0xD0xA(CRLF)字节放在传输线的开头以告知read()函数数据已准备好被读取? 在 "串行端口" 或 "硬件" 没有一个概念 " ...
- linux查看7799端口使用情况,Linux /proc/net/ 下文件用途
转载: http://jlspyaozhongkai.blog.163.com/blog/static/116057464200962724623344/ 系统版本 cat /proc/version ...
- Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
文章目录: 1 linux查看那端口监听情况 2 Linux查看某个端口对应的进程号和程序 1 linux查看那端口监听情况 linux中可以使用netstat命令查看端口监听情况,首先来看一下该命令 ...
- linux查看主机端口进程命令
linux查看主机端口进程命令 1.查看主机信息 #more /etc/hosts #Do not remove the following line, or various programs #th ...
- linux查看3306端口号是否打开
linux查看3306端口号是否打开 在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询. netstat命令各个参 ...
- linux查询80端口,Linux 查看 80 端口的占用情况
lsof -i:端口号 eg: lsof -i:80 lsof -i:21 [root@localhost ~]# lsof -i: COMMAND PID USER FD TYPE DEVICE S ...
- Linux 查看占用端口进程的绝对路径
Linux 查看占用端口进程的绝对路径 目 录 *Linux 查看占用端口进程的绝对路径* @[toc](目 录) 1. 本机环境 2. 查询占用的端口号 3. 查看进程文件夹 4. 进程结束时, 该 ...
- linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...
1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...
最新文章
- uboot、kernel和rootfs烧录
- 成功修改fastreport3.15,使其支持中日韩四(CJK)中编码PDF的导出
- ab的压力测试(转)
- Python文件格式 .py .pyc .pyw .pyo .pyd的主要区别
- android配置activity
- JDK、JRE、JVM三者间的关系
- 优化算法求解复杂约束问题策略(以粒子群算法为例讲解求解复杂约束问题的多种策略)
- mycat从0到成功进行分表操作
- 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明
- # bucketSort 箱排序 也称桶排序
- VUE day_08(7.26)学子商城项目详细版
- Ant安装与配置build.xml文件说明
- Asterisk内核 拾遗
- 'wx' is not defined no-undef
- AI 去掉图片的背景色
- 视频监控技术的发展对于市场的影响越来越大
- n子棋,你能下赢电脑吗,来玩玩吧
- 【技术分享】甲骨文首约DTCC 大秀数据库技术创新
- 在JDBC中实现SQL语句的模糊查询
- AWVS13的安装过程
热门文章
- 判断输入的年月日是否合法
- 多元有序logistic回归_stata速学|logistic回归分析
- ajaxfileupload 返回值_Ajaxfileupload 上传文件后返回response的contentType错误问题
- sqlhelp(sqlite)
- PHP 数字缩短(最多1倍)与还原
- 几万字的博文,你自己会看吗
- LINUX SHELL使用while循环数组
- 体验迟到:果然是魔鬼定律,一路上多种障碍
- U盘插在前面板不认,可以试试插在后面板
- curses.h: No such file or directory