微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cloud SQLpostgres外部资料包装器与副本执行个体的连线逾时

如何解决Cloud SQLpostgres外部资料包装器与副本执行个体的连线逾时

嘿,在连接到副本实例时在 Cloudsql中使用postgres_fdw扩展名会遇到一些问题。我们已将问题转发给GCP支持人员,但他们的回答与我们的问题并没有真正的关系。因此,我们可以在这里再次尝试:

问题

我们在应用程序中使用postgres_fdw扩展名,以便能够跨数据库运行联接。

我们在主实例(具有副本实例)上有2个数据库

  • 分析
  • 动物名称从历史上讲是:D)

并曾经与 analytics->动物建立外部数据包装器连接。

使用documentation中所述的Cloudsql master 实例的IP地址,这可以很好地工作。

外部数据包装器设置已同步到副本实例,因此仍指向主实例(->仍使用主实例的IP)。

“图表”如下所示:

主机-postgres_fdw(IP address A)->主机(IP地址A)

副本--postgres_fdw(IP address A)->主服务器(IP地址A)

为了避免在查询副本时撞到主实例,我们希望将设置更改为:

master-postgres_fdw(IP address B)->复制副本(IP地址B)

副本-postgres_fdw(IP address B)->副本(IP地址B)

我们想要更改此设置,以便我们的外部数据包装程序始终在设置时通过更改IP地址来指向副本实例(也在主数据库上-很好)。

但是,无法通过其IP和外部数据包装器连接到副本。导入模式时(在主服务器上),我们总是会收到连接超时

我们在主服务器上运行的安装脚本

BEGIN;

    CREATE EXTENSION IF NOT EXISTS postgres_fdw;

    --- Update foreign data server
    DROP SERVER IF EXISTS "animal_fdw" CASCADE;
    CREATE SERVER "animal_fdw" FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '$FDW_HOST',dbname '$TARGET_DB_NAME');

    --- Create user mapping for default agrando user and Metabase
    CREATE USER MAPPING FOR "$USER" SERVER "animal_fdw" OPTIONS(user '$USER',password '$PASSWORD');

    --- Update Schema
    DROP SCHEMA IF EXISTS "$SCHEMA_NAME";
    CREATE SCHEMA "$SCHEMA_NAME";

    --- The following line times out
    IMPORT FOREIGN SCHEMA public from SERVER "animal_fdw" into "$SCHEMA_NAME"
COMMIT;
  • $FDW_HOST=<IP_Address_A>(主)时工作
  • IMPORT FOREIGN SCHEMA public from SERVER "animal_fdw" into "$SCHEMA_NAME"$FDW_HOST=<IP_Address_B>(副本)时超时

日志

Thu,10 Sep 2020 14:56:24 GMT
DROP SERVER
Thu,10 Sep 2020 14:56:24 GMT
CREATE SERVER
Thu,10 Sep 2020 14:56:24 GMT
CREATE USER MAPPING
Thu,10 Sep 2020 14:56:24 GMT
DROP SCHEMA
Thu,10 Sep 2020 14:58:36 GMT
CREATE SCHEMA
Thu,10 Sep 2020 14:58:36 GMT
ERROR:  Could not connect to server "animal_fdw"
Thu,10 Sep 2020 14:58:36 GMT
DETAIL:  Could not connect to server: Connection timed out
Thu,10 Sep 2020 14:58:36 GMT
    Is the server running on host "<IP Address B>" and accepting
Thu,10 Sep 2020 14:58:36 GMT
    TCP/IP connections on port 5432?

我们已经在所有环境中进行了尝试,以确保该环境不受影响。我们还确保IP地址中没有错字

解决方法

您使用了只读副本,好吗?不能以这种方式使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。