# @azure/postgresql-auth 中文文档

规范地址：https://npmcn.com/package/%40azure/postgresql-auth/

版本：1\.0\.0
npm 元数据更新时间：2026-09-01T17:33:09.956Z
中文译文更新时间：2026-11-07T14:42:53.356Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40azure/postgresql-auth
原文对照：https://npmcn.com/package/%40azure/postgresql-auth/?lang=original
项目主页：https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/postgresql/postgresql-auth/README.md
源码仓库：https://github.com/Azure/azure-sdk-for-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：52.9 kB，24 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：4 个
- peer 依赖：pg \>=8\.0\.0，sequelize \>=6\.0\.0
- 首次发布：2026-04-28T22:19:00.696Z
- 最新版本发布：2026-09-01T17:33:09.714Z
- 近 30 天下载量：16676（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

用于 JavaScript 的 PostgreSQL 的 Azure Entra ID 认证扩展

## 安装

```sh
npm install @azure/postgresql-auth
```

也可以使用：`pnpm add @azure/postgresql-auth`、`yarn add @azure/postgresql-auth`、`bun add @azure/postgresql-auth`

## README

# Azure PostgreSQL 地图 JavaScript 的认证客户端库

此软件包为在JavaScript中的PostgreSQL连接提供Azure Entra ID(原Azure Active Directory)认证. 它支持两者 [节点员额(`pg`(中文(简体) )](https://node-postgres.com/) 财务报告和审定财务报表 [排序](https://sequelize.org/) 客户.

密钥链接 :

-   [源代码](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/postgresql/postgresql-auth)
-   [软件包( NPM)](https://www.npmjs.com/package/@azure/postgresql-auth)

-   [产品文档](https://learn.microsoft.com/azure/postgresql/)

## 开始

### 目前得到支持的环境

-   [节点.js的LTS版本](https://github.com/nodejs/release#release-schedule)

看我们的 [支助政策](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) 更多细节.

### 先决条件

-   一个 [Azure 订阅](https://azure.microsoft.com/free/)。 。 。 .
-   一个 [PostgreSQL 的 Azure 数据库](https://learn.microsoft.com/azure/postgresql/) 为 Entra ID 认证配置了服务器 .

### 安装 `@azure/postgresql-auth` 软件包

为 JavaScript 安装 Azure PostgreSQL 认证客户端库 `npm`数字 :

```bash
npm install @azure/postgresql-auth
```

您还需要安装 `@azure/identity` 证书支持和您喜欢的 PostgreSQL 客户端 :

```bash
npm install @azure/identity pg
# or
npm install @azure/identity sequelize pg
```

## 关键概念

这个库为Entra ID认证与PostgreSQL集成提供了两个功能:

-   **`entraTokenProvider`** ——返回一个密码提供者功能,该功能获得一个适合用作PostgreSQL密码的Entra ID访问令牌. 用这个 `pg.Pool` 或者说 `pg.Client`。 。 。 .
-   **`configureEntraAuthentication`** 登记a `beforeConnect` 钩在序列化实例上,该实例自动获得一新符并在每个新连接之前设置用户名/密码.
-   **`GetEntraTokenPasswordOptions`** ——可选地将默认的 OAuth 范围(镜像属性) 传递给 entraToken Provider.
-   **`SequelizeBeforeConnectHook`** ——通过配置 EntraAuthentication 接受的结构界面;允许您使用任何序列兼容对象而无需添加硬后继依赖性.

两个函数都接受 Azure `TokenCredential` (从) `@azure/identity`),并针对PostgreSQL范围的Azure数据库处理令牌获取.

## 实例

### 使用节点后缀(`pg`(中文(简体) )

```ts
import { DefaultAzureCredential } from "@azure/identity";

const { entraTokenProvider } = await import("@azure/postgresql-auth");
const pg = await import("pg");
const credential = new DefaultAzureCredential();
const pool = new pg.Pool({
  host: process.env.PGHOST,
  port: Number(process.env.PGPORT || 5432),
  database: process.env.PGDATABASE,
  user: process.env.PGUSER,
  password: entraTokenProvider(credential),
  ssl: { rejectUnauthorized: true },
});
```

### 使用序列

```ts
import { DefaultAzureCredential } from "@azure/identity";

const { configureEntraAuthentication } = await import("@azure/postgresql-auth");
const { Sequelize } = await import("sequelize");
const sequelize = new Sequelize({
  dialect: "postgres",
  host: process.env.PGHOST,
  port: Number(process.env.PGPORT || 5432),
  database: process.env.PGDATABASE,
});
const credential = new DefaultAzureCredential();
configureEntraAuthentication(sequelize, credential);
await sequelize.authenticate();
```

## 解决问题

### 日志

允许伐木可能有助于发现有关失败的有用信息。 为了查看 HTTP 请求和回复的日志,设置 `AZURE_LOG_LEVEL` 环境变量改为 `info`。或者,可以在运行时拨打 `setLogLevel` 输入 `@azure/logger`数字 :

```ts
import { setLogLevel } from "@azure/logger";

setLogLevel("info");
```

关于如何启用日志的更详细指示,您可以查看 [@ azure/ logger 包文件](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger)。 。 。 .

## 今后的步骤

请看一下 [样本](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/postgresql/postgresql-auth/samples) 关于如何使用此库的详细示例的目录.

## 捐款

如果您想为图书馆捐钱 请读一下 [贡献指南](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) 学习如何构建和测试密码.

## 常见问题

### @azure/postgresql-auth 是什么？

用于 JavaScript 的 PostgreSQL 的 Azure Entra ID 认证扩展

### 如何安装 @azure/postgresql-auth？

在项目目录运行 npm install @azure/postgresql-auth，或使用 pnpm add / yarn add / bun add。

### @azure/postgresql-auth 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @azure/postgresql-auth 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @azure/postgresql-auth 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @azure/postgresql-auth 可以商用吗？

@azure/postgresql-auth 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @azure/postgresql-auth 的下载量有多少？

根据 npm 官方下载统计，@azure/postgresql-auth 在 2026/10/08 – 2026/11/06 这 30 天内被下载 16,676 次，日均约 556 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @azure/postgresql-auth 还在维护吗？

最新版本 1\.0\.0 发布于 2026/09/02（2 个月前）；至今共发布 2 个版本，其中过去 12 个月发布了 2 个；首次发布于 2026/04/29。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

