0


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是通用包,所有程序都需要安装。
在这里插入图片描述

结合以上,我们下载好

postgresql11

postgresql11-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数据库了。
在这里插入图片描述


本文转载自: https://blog.csdn.net/qq_42389764/article/details/128817720
版权归原作者 赖皮猫 所有, 如有侵权,请联系我们删除。

“Linux主机下连接远程postgresql数据库、容器版postgresql数据库”的评论:

还没有评论