SuperAPI AI 工具集

azure-postgres-ts

数据与分析

查看项目

更新于 10-16 01:49

技能介绍

用途:从 Node.js/TypeScript 连接 Azure Database for PostgreSQL Flexible Server,使用 pg(node-postgres)包,支持密码认证与 Microsoft Entra ID(无密码)认证。

安装:npm install pg @azure/identity;npm install -D @types/pg。

环境变量:AZURE_POSTGRESQL_HOST、AZURE_POSTGRESQL_DATABASE、AZURE_POSTGRESQL_PORT(默认 5432);密码认证需 AZURE_POSTGRESQL_USER、AZURE_POSTGRESQL_PASSWORD;Entra ID 认证需 AZURE_POSTGRESQL_USER(如 user@contoso.com),用户分配托管标识另需 AZURE_POSTGRESQL_CLIENTID。

主要能力:单 Client 连接;生产推荐 Pool 连接池(max、idleTimeoutMillis、connectionTimeoutMillis);参数化查询防注入;事务与 withTransaction 辅助函数;TypeScript 泛型类型化查询;Entra ID 令牌获取与过期前刷新(令牌作用域 https://ossrdbms-aad.database.windows.net/.default,约 1 小时有效);DatabaseError 错误码处理;连接字符串方式;连接池事件监听。

必要用法:Azure 必须启用 SSL,配置 ssl: { rejectUnauthorized: true };Entra ID 认证将令牌作为 password 传入;始终使用参数化查询,不拼接用户输入;用 try/finally 或连接池释放连接;应用退出时调用 pool.end()。

限制:Azure PostgreSQL 连接数受 SKU 限制,需查看所在层级的最大连接数;PgBouncer 启用时端口为 6432;输出不能替代针对具体环境的验证、测试或专家审查;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。