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

> ## Agent Instructions
> PawSQL 是一个产品：Cloud 是公网部署形态，Engine / Optimizer / Auditor / Advisor / Patroller 是同一产品的组件与交付形态，不是彼此独立的产品。 / PawSQL is a single product: Cloud is the public deployment form, while Engine / Optimizer / Auditor / Advisor / Patroller are components and delivery forms of the same product, not separate products.
> 术语以站内术语表为准：SQL 审核对应英文 SQL Review，查询重写对应 Query Rewrite，索引推荐对应 Index Recommendation；英文内容统一用 Review，不用 Audit。 / Use the site glossary for terminology: 审核 is SQL Review, 重写 is Query Rewrite, 索引推荐 is Index Recommendation; English content uses Review, never Audit.
> 引用能力范围或版本支持时以对应页面为准；标注 unknown、或 status 非 published 的内容表示尚未经产品核实，不应作为事实引用。 / Cite capability scope and version support from the corresponding page; content marked unknown, or with a status other than published, is not yet product-verified and must not be cited as fact.

# 创建工作空间

> 创建工作空间并返回 workspaceId，支持离线模式（DDL 文本）和在线模式（数据库连接）。

### 支持的 dbType 值

| dbType | Database |
|--------|----------|
| mysql | MySQL |
| mysql-rds | RDS MySQL |
| gaussdb-mysql | GaussDB for MySQL |
| goldendb | GoldenDB |
| tdsqlx-mysql | TDSQL MySQL (Distributed) |
| tdsql-mysql | TDSQL MySQL (Centralized) |
| oceanbase-mysql | OceanBase (MySQL Mode) |
| oceanbase-oracle | OceanBase (Oracle Mode) |
| polardbx | PolarDB-X 2.0 |
| postgresql | PostgreSQL |
| opengauss | OpenGauss |
| kingbase-es | Kingbase |
| mogdb | MogDB |
| gaussdbx | GaussDB (Distributed) |
| gaussdb-dws | GaussDB for DWS |
| oracle | Oracle |
| tdsqlx-pg | TDSQL PostgreSQL (Distributed) |
| tdsql-pg | TDSQL PostgreSQL (Centralized) |
| mssql | SQLServer |
| db2 | DB2 |
| dameng | Dameng |




## OpenAPI

````yaml /openapi/pawsql-optimization.yaml post /createWorkspace
openapi: 3.0.3
info:
  title: PawSQL 优化服务
  description: |
    PawSQL SQL 优化服务对外接口。

    PawSQL 优化引擎是为开发者和 DBA 开发的查询优化引擎，集成了数据库行业的查询优化最佳实践，
    提供强大的 SQL 审核和重写优化功能，并集成 Paw Index Advisor 索引推荐引擎为慢查询提供基于成本的索引推荐。

    ## 认证方式

    大部分接口需要通过 `userKey`（激活码）进行身份认证。
    `userKey` 可通过 `/getUserKey` 接口（邮箱密码登录）获取。

    ## 接口调用流程

    1. 调用 `/getUserKey` 获取 userKey
    2. 调用 `/createWorkspace` 创建工作空间（或直接在 `/createAnalysis` 中传入 DDL）
    3. 调用 `/createAnalysis` 或 `/createAnalysisAsync` 创建优化任务
    4. 调用 `/getAnalysisSummary` 获取优化汇总
    5. 调用 `/getStatementDetails` 获取单条 SQL 优化详情
  version: 1.0.0
  contact:
    name: PawSQL Team
    url: https://pawsql.com
  license:
    name: PawSQL
    url: https://pawsql.com
servers:
  - url: /api/v1
    description: PawSQL Server
security:
  - userKey: []
tags:
  - name: 身份认证
    description: 身份认证接口
  - name: 工作空间
    description: 工作空间管理接口
  - name: SQL优化
    description: SQL 优化任务接口
paths:
  /createWorkspace:
    post:
      tags:
        - 工作空间
      summary: 创建工作空间
      description: |
        创建工作空间并返回 workspaceId，支持离线模式（DDL 文本）和在线模式（数据库连接）。

        ### 支持的 dbType 值

        | dbType | Database |
        |--------|----------|
        | mysql | MySQL |
        | mysql-rds | RDS MySQL |
        | gaussdb-mysql | GaussDB for MySQL |
        | goldendb | GoldenDB |
        | tdsqlx-mysql | TDSQL MySQL (Distributed) |
        | tdsql-mysql | TDSQL MySQL (Centralized) |
        | oceanbase-mysql | OceanBase (MySQL Mode) |
        | oceanbase-oracle | OceanBase (Oracle Mode) |
        | polardbx | PolarDB-X 2.0 |
        | postgresql | PostgreSQL |
        | opengauss | OpenGauss |
        | kingbase-es | Kingbase |
        | mogdb | MogDB |
        | gaussdbx | GaussDB (Distributed) |
        | gaussdb-dws | GaussDB for DWS |
        | oracle | Oracle |
        | tdsqlx-pg | TDSQL PostgreSQL (Distributed) |
        | tdsql-pg | TDSQL PostgreSQL (Centralized) |
        | mssql | SQLServer |
        | db2 | DB2 |
        | dameng | Dameng |
      operationId: createWorkspace
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiWorkspaceCreate'
            examples:
              offline:
                summary: 离线模式
                value:
                  userKey: CB698418-88B25371-67F15F01-XXXXXXXX
                  mode: offline
                  dbType: mysql
                  ddlText: CREATE TABLE `organization` (`org_id` bigint(20) NOT NULL);
              online:
                summary: 在线模式
                value:
                  userKey: CB698418-88B25371-67F15F01-XXXXXXXX
                  mode: online
                  dbType: mysql
                  host: localhost
                  port: '3306'
                  database: pawsql
                  dbUser: root
                  dbPassword: password
      responses:
        '200':
          description: 工作空间创建结果
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResult'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/WorkspaceCreateResponse'
              examples:
                success:
                  value:
                    code: 200
                    message: Success
                    data:
                      workspaceId: '1730508173442965506'
                failure:
                  value:
                    code: 400
                    message: server.validate.failed
                    data: null
components:
  schemas:
    ApiWorkspaceCreate:
      type: object
      description: 创建工作空间请求
      required:
        - userKey
        - mode
        - dbType
      properties:
        userKey:
          type: string
          description: 激活码
          example: CB698418-88B25371-67F15F01-XXXXXXXX
        mode:
          type: string
          description: '工作空间模式: online（在线）/ offline（离线）'
          enum:
            - online
            - offline
          example: offline
        dbType:
          type: string
          description: 数据库类型 displayCode，支持的值见上方 dbType 表格
          example: mysql
        host:
          type: string
          description: 数据库地址（在线模式必填）
          example: localhost
        port:
          type: string
          description: 数据库端口（在线模式必填）
          example: '3306'
        schemas:
          type: string
          description: Schema 列表，逗号分隔，大小写敏感（pg/opengauss/oracle 必填）
        database:
          type: string
          description: 数据库名（在线模式必填）
          example: pawsql
        dbUser:
          type: string
          description: 数据库用户名（在线模式必填）
          example: root
        dbPassword:
          type: string
          description: 数据库密码（在线模式必填）
          example: password
        ddlText:
          type: string
          description: DDL 文本（离线模式必填）
          example: CREATE TABLE `organization` (`org_id` bigint(20) NOT NULL);
    ApiResult:
      type: object
      description: 统一响应体
      properties:
        code:
          type: integer
          description: 状态码，200 表示成功
          example: 200
        message:
          type: string
          description: 描述信息
          example: Success
        data:
          description: 响应数据
    WorkspaceCreateResponse:
      type: object
      description: 创建工作空间响应
      properties:
        workspaceId:
          type: string
          description: 工作空间 ID
          example: '1730508173442965506'
  securitySchemes:
    userKey:
      type: apiKey
      in: header
      name: userKey
      description: 激活码，通过 /getUserKey 接口获取

````