【问题标题】:Node.js PGAdmin Google Cloud ConnecttionNode.js PGAdmin 谷歌云连接
【发布时间】:2020-03-10 22:59:00
【问题描述】:

在 [ProjectA] 我有

  1. 运行 Node.js 的 VM 实例
  2. 云 PGAdmin 数据库。

我需要帮助才能从节点应用程序连接数据库。我收到此错误。

Error: connect ENOENT /[InstanceName]/.s.PGSQL.5432 at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
errno: 'ENOENT',  code: 'ENOENT', syscall: 'connect', address: ‘/[InstanceName]/.s.PGSQL.5432'

建议/帮助将不胜感激。这是我在节点中的连接。

user: 'postgres',//host: ‘[Host-Name]',
socketPath: ['Host-name', //host:[ExternalIP],
database: [Database],
password: [Password],

【问题讨论】:

    标签: node.js google-cloud-platform google-compute-engine


    【解决方案1】:

    由于数据库位于同一项目中的 Cloud SQL 中,因此您可以使用 Cloud SQL 代理进行连接,这样您就可以将本地数据库连接到您的 VM。

    要安装和运行云 SQL 代理,您可以关注This,我也将一般说明放在这里:

    1) 获取 SQL 代理并使其可执行。为此,您需要在 VM 中运行以下 2 行:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
    chmod +x cloud_sql_proxy
    

    2) 创建一个具有 CloudSQL Client 角色的服务帐户,详细说明here

    3) 为服务帐号创建密钥并将其上传到您的虚拟机

    4) 通过运行以下命令启动 SQL 代理:

    ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:5432 \
                      -credential_file=<PATH_TO_KEY_FILE> &
    

    5) 在您的应用程序中连接,就像数据库在本地主机中一样

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      相关资源
      最近更新 更多