You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Sequelize通过Cloud SQL Node.js Connector连接CloudSQL失败,pg直连正常

Sequelize v6 + sequelize-typescript 搭配 Cloud SQL Node.js Connector 连接PostgreSQL失败(直接用pg包正常)

我在GCP外部通过Cloud SQL Node.js Connector连接Cloud SQL PostgreSQL数据库时遇到了以下问题:

  • 直接使用pg包搭配Connector生成的连接选项,可正常建立连接并执行查询
  • 使用sequelize v6 配合sequelize-typescript,按照相同的连接选项配置时,会触发连接错误
  • 尝试使用@sequelize/core(v7.0.0-alpha.27及以上版本)可以正常连接,但该版本无法与sequelize-typescript兼容,导致无法用其定义数据库模型

有没有人遇到过相同的问题?以下是相关代码示例和当前使用的依赖版本:

代码示例

Sequelize 连接代码(失败)

const connector = new Connector()

const clientOpts = await connector.getOptions({
    instanceConnectionName: "instanceConnectionName",
    ipType: IpAddressTypes.PUBLIC,
    authType: AuthTypes.PASSWORD
})

// 使用 "@sequelize/core" 可正常连接,但使用 "sequelize" + "sequelize-typescript" 时失败
const sequelize = new Sequelize({
    dialect: "postgres",
    dialectModule: pg,
    username: "postgres",
    password: "password",
    database: "database",
    dialectOptions: {
        ...clientOpts
    }
})

await sequelize.authenticate()

pg 直接连接代码(成功)

const { Pool } = pg

const pool = new Pool({
    ...clientOpts,
    username: "postgres",
    password: "password",
    database: "database",
    max: 5
})
const { rows } = await pool.query("SELECT * FROM public.users")
console.table(rows) 

当前依赖版本

- "sequelize": "6.33.0"
- "sequelize-typescript": "2.1.5"
- "pg": "8.11.3"
- "pg-hstore": "2.3.4"
- "@google-cloud/cloud-sql-connector": "1.2.1"

内容的提问来源于stack exchange,提问作者Robert Wells

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 11:55:39