we-trust-postgres 0.0.0

PostgreSQL compatibility layer for We-Trust, supporting the wire protocol and SQL dialect
Documentation
# we-trust-postgres (PostgreSQL Wire Protocol Adapter)


`we-trust-postgres` 是 YYKV 存储引擎的 PostgreSQL 协议兼容层。它实现了 PostgreSQL 的有线协议(Wire Protocol),使得开发者可以使用现有的 Postgres 驱动、ORM 框架及管理工具直接访问 YYKV 的高性能存算一体化能力。

## 核心功能


### 🔌 原生协议支持 (Wire Protocol)

- **二进制传输**: 完整实现前端/后端交互的消息格式(如 `StartupMessage`, `Query`, `DataRow`, `CommandComplete`)。
- **认证集成**: 支持常用的 Postgres 认证机制。
- **SSL 支持**: 支持加密连接,确保数据传输安全。

### 📊 类型与算子映射

- **双向转换**: 在 Postgres 数据类型与 YYKV 的 `DsValue` 之间建立高性能映射。
- **SQL 翻译**: 将接收到的 SQL 语句转化为 YYKV 的逻辑执行计划(OpsGraph)。

### ⚡ 事务透明

- 映射 Postgres 的事务命令(`BEGIN`, `COMMIT`, `ROLLBACK`)到 YYKV 的底层事务控制器,确保 ACID 特性。

## 核心组件


- `PgCodec`: 基于 `tokio-util` 实现的非阻塞 Postgres 消息编解码器。
- `PostgresAdapter`: 负责处理客户端连接生命周期与请求路由。
- `PostgresTransaction`: 维护与底层引擎对应的事务上下文。

## 使用示例


```bash
# 使用标准 psql 客户端连接 YYKV

psql -h 127.0.0.1 -p 5432 -U yykv_user -d my_database
```

## 技术架构


```mermaid
sequenceDiagram
    Client->>we-trust-postgres: Frontend Message (Query)
    we-trust-postgres->>yykv-operators: SQL Parse & Planning
    yykv-operators->>yykv-executor: Execute Graph
    yykv-executor-->>we-trust-postgres: Rows Data
    we-trust-postgres-->>Client: DataRow + CommandComplete
```