【问题标题】:dblink from remote server into a Google Cloud SQL instance using .pgpass使用 .pgpass 从远程服务器 dblink 到 Google Cloud SQL 实例
【发布时间】:2019-09-26 16:02:03
【问题描述】:

我正在尝试使用 dblink 连接到 Google Cloud SQL 实例,当在连接字符串中设置我的用户名和密码时效果很好,但我想将我的客户端凭据保存在 SQL 实例中以不具有需要在连接中明确输入我的密码。

【问题讨论】:

    标签: postgresql google-cloud-sql dblink


    【解决方案1】:

    将使用的 .pgpass 文件是属于运行本地数据库的操作系统用户的文件(在大多数情况下是“~/postgres/.pgpass”)。然后出于安全原因,它仅在您是本地超级用户时才有效。你能满足这些条件吗?

    但我想将我的客户端凭据保存在 SQL 实例中

    “SQL 实例”是什么意思?我认为 .pgpass 不会被视为在 SQL 实例中。

    另一种解决方案是使用“postgres_fdw”创建一个外部服务器。这似乎没有记录(编辑:它记录在here,但使用 dblink_fdw 而不是 postgresql_fdw),但您可以将“postgres_fdw”外部服务器的名称(单引号)作为连接字符串传递给 dblink 函数.然后,它将从该服务器和用户的 USER MAPPING 中提取要使用的密码。我认为 USER MAPPING 算作“SQL 实例”内部。

    【讨论】:

    • 如果需要超级用户权限恐怕行不通,我试一下国外服务器的例子,有道理,谢谢。
    猜你喜欢
    • 2018-07-19
    • 2015-05-14
    • 1970-01-01
    • 2020-01-16
    • 2021-10-04
    • 2020-09-25
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多