Linux主机下连接远程postgresql数据库、容器版postgresql数据库

背景

简单啰嗦一下背景,想看解决方案的,直接跳过本章节。

最近在预研postgresql的功能,其中有个场景就是需要在系统中ssh到postgresql集群上执行psql命令。但是我只有容器版的postgresql,并不能直接ssh到容器中。而ssh到我自己的主机上,由于没有安装postgresql,不能执行psql命令。
我想到了以下两个解决方案:

  • 直接配置容器IP,ssh到容器内,这样就可以执行psql命令,但是检索了相关操作后,发现很繁琐,还要修改主机配置。可能会影响主机的其他应用,于是放弃了。
  • 在我自己的主机上部署postgresql。检索了相关教程后,发现需要新建用户,而我本身的账号没有主机上新建用户权限;且官网没有提供安装包,只提供了yum方式安装,而主机yum源受限,无法使用外网yum源安装。一番检索后,发现了可以源码安装,但是程序繁琐,放弃了。

以上两个方案,供大家参考,如果下面的方案不可行,以上两个方案希望可以提供一些借鉴。

简单步骤

不想看我啰嗦的,直接看这个简单步骤。

  • 第一步 选择适配版本的安装包
    进入下载地址,根据自己的操作系统版本选择安装包

https://yum.postgresql.org/11/redhat/rhel-7-x86_64/repoview/index.html

  • 第二步 下载客户端安装包
    下载postgresqlpostgresql-libs安装包
    在这里插入图片描述

  • 第三步 安装客户端
    将安装包上传至主机,然后执行安装命令。
    rpm -i postgresql11-libs-11.2-1PGDG.rhel7.x86_64.rpm
    rpm -i postgresql11-11.2-1PGDG.rhel7.x86_64.rpm

  • 第四步 验证结果
    执行psql命令,未报命令不存在异常,则说明安装成功。

解决方案

下面详细介绍我的解决方案。

下载安装包

其实这个解决方案,实在官网上找到的,在寻找源码安装部署的时候,发现安装包被拆分成了不同的小包,以应对不同的使用场合。

下载地址:

https://yum.postgresql.org/11/redhat/rhel-7-x86_64/repoview/index.html

这个是红帽子Linux,CentOS-7的安装地址,其他操作系统,请回退上级目录选择。

进去之后,我们选择上面的postgresql database server
在这里插入图片描述
进来后,可以看到里面有4个安装包
在这里插入图片描述

postgresql11 - PostgreSQL 客户端程序和依赖包
postgresql11-contrib - PostgreSQL 发布的源代码和二进制文件
postgresql11-libs - PostgreSQL 客户端依赖的公共包
postgresql11-server - PostgreSQL 的服务端程序代码

看到这里,我想大家都明白要干什么了。。

安装客户端

是的,我们只需要安装客户端即可。进入postgresql11中查看介绍,可以知道,我们的想法是正确的。
在这里插入图片描述

If you want to manipulate a PostgreSQL database on a local or remote PostgreSQL
server, you need this package. You also need to install this package
if you’re installing the postgresql11-server package.
如果你想要操作本地或者远程的PostgreSQL数据库服务,那么你需要这个包。如果你在安装服务端程序,那么这个包也是必须要安装的。

查看一下postgresql11-libs介绍,可以知道,libs是通用包,所有程序都需要安装。
在这里插入图片描述

结合以上,我们下载好postgresql11postgresql11-libs两个包,然后上传至主机上相关目录。
在这里插入图片描述

使用rpm命令安。命令格式如下:
rpm -i postgresql11-libs-11.2-1PGDG.rhel7.x86_64.rpm
rpm -i postgresql11-11.2-1PGDG.rhel7.x86_64.rpm

安装过程会报告警:

warning: postgresql11-11.2-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY

可忽略。
注意:需要先安装libs,再安装客户端,否则会报出异常提示。

安装好了之后,执行psql命令,提示异常,但没有报出命令不存在,则说明安装成果,恭喜你,可以使用psql命令连接远程postgresql数据库了。
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值