> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-docs-zh.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Google 云 SQL for PostgreSQL 集成

> 使用 LangChain JavaScript 集成 Google Cloud SQL for PostgreSQL 文档加载器。

[云 SQL](https://cloud.google.com/sql)是一个完全托管的关联回归数据库服务，提供高性能、无缝集成、令人印象深刻的可扩展性，并提供PostgreSQL等数据库引擎。

本指南简要介绍了如何使用`PostgresLoader`类将文档加载到云 SQL PostgreSQL中。

## 概述

### 开始前

要使用此软件包，您首先需要完成以下步骤：

1. [选择或创建云平台项目.](https://developers.google.com/workspace/guides/create-project)
2. [为您的项目启用计费.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
3. [启用云 SQL 管理API.](https://console.cloud.google.com/flows/enableapi?apiid=sqladmin.googleapis.com)
4. [设置身份验证.](https://cloud.google.com/docs/authentication)
5. [创建云 SQL 实例](https://cloud.google.com/sql/docs/postgres/connect-instance-auth-proxy#create-instance)
6. [创建云 SQL 数据库](https://cloud.google.com/sql/docs/postgres/create-manage-databases)
7. [向数据库添加用户](https://cloud.google.com/sql/docs/postgres/create-manage-users)

### 身份验证

使用`gcloud auth login`命令本地身份验证您的 Google Cloud 账户。

### 设置您的 Google 云项目

将您的 Google Cloud 项目 ID 设置为本地利用 Google Cloud 资源：

```bash theme={null}
gcloud config set project YOUR-PROJECT-ID
```

如果您不知道您的项目 ID，请尝试以下方法：

* 运行 `gcloud config list`。
* 运行 `gcloud projects list`。
* 查看支持页面：[定位项目 ID](https://support.google.com/googleapi/answer/7014113)。

## 设置 PostgresLoader 实例

要使用 PostgresLoader 类，您需要安装 `@langchain/google-cloud-sql-pg` 软件包，然后按照以下步骤操作。

```bash npm theme={null}
npm install @langchain/google-cloud-sql-pg @langchain/core
```

```bash yarn theme={null}
yarn add @langchain/google-cloud-sql-pg @langchain/core
```

```bash pnpm theme={null}
pnpm add @langchain/google-cloud-sql-pg @langchain/core
```

首先，您需要登录到您的 Google Cloud 账户，并根据您的 Google Cloud 项目设置以下环境变量；这些将根据您如何配置（fromInstance、fromEngine、fromEngineArgs）PostgresEngine 实例来定义：

```bash theme={null}
PROJECT_ID="your-project-id"
REGION="your-project-region" // example: "us-central1"
INSTANCE_NAME="your-instance"
DB_NAME="your-database-name"
DB_USER="your-database-user"
PASSWORD="your-database-password"
```

### 设置实例

要实例化 PostgresLoader，您首先需要通过 PostgresEngine 创建数据库连接。

```typescript theme={null}
import {
  PostgresLoader,
  PostgresEngine,
  PostgresEngineArgs,
  type PostgresLoaderOptions,
} from "@langchain/google-cloud-sql-pg";
import * as dotenv from "dotenv";

dotenv.config();

const peArgs: PostgresEngineArgs = {
  user: process.env.DB_USER ?? "",
  password: process.env.PASSWORD ?? "",
};

// PostgresEngine instantiation
const engine: PostgresEngine = await PostgresEngine.fromInstance(
  process.env.PROJECT_ID ?? "",
  process.env.REGION ?? "",
  process.env.INSTANCE_NAME ?? "",
  process.env.DB_NAME ?? "",
  peArgs
);
```

### 使用 table\_name 参数加载文档

加载器使用第一列作为 page\_content，并将所有其他列作为元数据返回文档列表。默认情况下，第一列作为 page\_content，第二列作为元数据（JSON）。每一行都成为一个文档。

```js theme={null}
const documentLoaderArgs: PostgresLoaderOptions = {
  tableName: "test_table_custom",
  contentColumns: ["fruit_name", "variety"],
  metadataColumns: [
    "fruit_id",
    "quantity_in_stock",
    "price_per_unit",
    "organic",
  ],
  format: "text",
};

const documentLoaderInstance = await PostgresLoader.initialize(
  engine,
  documentLoaderArgs
);
```

### 使用 SQL 查询加载文档

查询参数允许用户指定自定义 SQL 查询，该查询可以包含用于从数据库加载特定文档的过滤器。

```js theme={null}
const documentLoaderArgs: PostgresLoaderOptions = {
  query: "SELECT * FROM my_fruit_table",
  contentColumns: ["fruit_name", "variety"],
  metadataColumns: [
    "fruit_id",
    "quantity_in_stock",
    "price_per_unit",
    "organic",
  ],
  format: "text",
};

const documentLoaderInstance = await PostgresLoader.initialize(
  engine,
  documentLoaderArgs
);
```

### 设置页面内容格式

加载器返回文档列表，每行一个文档，页面内容以指定的字符串格式返回，即文本（空格分隔的连接）、JSON、YAML、CSV 等。JSON 和 YAML 格式包含标题，而文本和 CSV 不包含字段标题。

***

> 官方原文：[src/oss/javascript/integrations/document\_loaders/web\_loaders/google\_cloudsql\_pg.mdx](https://github.com/langchain-ai/docs/blob/main/src/oss/javascript/integrations/document_loaders/web_loaders/google_cloudsql_pg.mdx) · 非官方翻译，译文由 AI 生成，以英文原文为准。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.