连接到谷歌计算引擎上的postgres服务器[英] connecting to postgres server on google compute engine

本文是小编为大家收集整理的关于连接到谷歌计算引擎上的postgres服务器的处理方法,想解了连接到谷歌计算引擎上的postgres服务器的问题怎么解决?连接到谷歌计算引擎上的postgres服务器问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我在谷歌云上安装了一个 PostgreSQL,我希望能够使用 pg-admin 从我的电脑远程访问它.

当我尝试连接到我的实例时确实收到以下错误:

<块引用>

无法连接到服务器:

无法连接到服务器:连接被拒绝 (0x0000274D/10061) 是在主机"[我的 VM 实例的外部 IP]"上运行的服务器和接受端口 5432 上的 TCP/IP 连接?

我认为这可能是因为谷歌云防火墙阻止了我(也许!),我为我的实例指定了以下防火墙,我使用我的 IP 地址来定义源过滤器:在此处输入图片描述

我是否遗漏了一些东西,因为我仍然无法访问它,有人可以帮助我吗?有人知道吗?

推荐答案

我按照 上的教程进行操作1 我可以从一台机器远程连接到另一台机器.我可以通过错过配置防火墙规则来重现您的情况.您已使用标签设置防火墙规则.该标签也需要在虚拟机上.如果您使用标签创建防火墙规则,则该标签需要打开(在我的情况下,标签的标签名称是 postgre-5432)网络标签:

在此处输入图片描述

您可以在 VM 实例部分编辑您的 Compute Engine 实例.

在这种情况下,标签用于在同一网络中为特定机器设置防火墙规则.

这是我的入口流量防火墙规则的定义.这是运行 postgresql 服务器的计算引擎实例在网络标签部分配置的标签:

在此处输入图片描述

在源 IP 范围中,您需要将要连接的计算机的公共 IP 地址放置到运行 postgresql 服务器的计算机,因为这是入口防火墙规则.使用该 ip 作为源 ip,您不应该有任何标签问题.我鼓励您使用标签,因为一切都会更加安全.

您可以在此地址中查看本地连接的 PUBLIC IP:http://ip4.me/

然后在您提到的配置文件中,您需要放置连接的公共 IP.此 IP 必须与您在入口防火墙规则中使用的 IP 相同.

sudo nano/etc/postgresql/9.5/main/pg_hba.conf:托管所有所有 PUBLIC_IP/32 md5

这里你需要为listen_addresses设置*,因为*表示任何地址.无论如何,您正在控制 pg_hba.conf 中能够连接到您的实例的 ip:

sudo nano/etc/postgresql/9.5/main/postgresql.conflisten_addresses = '*' # 要监听的 IP 地址;

pgAdmin:

这里你可以看到如何在ubuntu上安装pgAdmin4 2在这里,您可以看到如何从命令行连接到 postgres.[3

为了能够从 pgAdmin4 连接到您的 postgres 远程实例,您需要将主机名/地址设置为运行您的 postgresql 服务器的计算引擎实例 Ip.如果你按照这里的教程 1 你应该也有一个名为 postgres 的默认数据库.

在此处输入图片描述

希望这会有所帮助!

1 https://cloud.google.com/community/tutorials/setting-up-postgres#creating-计算引擎实例

2 https://askubuntu.com/questions/831262/how-to-install-pgadmin-4-in-desktop-ubuntu 模式

3 https://www.postgresql.org/message-id/001f01c018c2$830133b0$64898cd5%40northlink.gr

<小时>

本文地址:https://www.itbaoku.cn/post/1764090.html