Skip to content

1.0.0

Latest

Choose a tag to compare

@LiuXiu233 LiuXiu233 released this 17 Jul 07:22
22f22bc

言库·象城 1.0.0

言库·象城 1.0.0 把早期 PostgreSQL 包边界升级为可公开使用的 ABI v2 原生驱动。它建立在言库 1.x 稳定协议上,覆盖连接、查询、事务、连接池、TLS、结构反射、迁移和言据/JSONB 集成。

主要能力

  • PostgreSQL 14 至 18 参数化查询、执行、错误映射和列元数据;
  • 可复用预编译语句、绑定对象、显式关闭和资源级联;
  • 手动/托管事务、保存点、隔离级别、只读和事务超时;
  • 请求标识、真实 PostgreSQL 取消、超时和取消竞态隔离;
  • 标准驱动入口、连接池、健康检查、日志、指标和言据导入导出;
  • schema、表、列、主键、约束、索引和外键反射;
  • JSONB、数组、UUID、NUMERIC、日期时间、枚举及枚举数组映射;
  • 规范言据文本、JSONB 原生结构、路径查询和 GIN 索引建议;
  • SHA-256 迁移校验和、advisory transaction lock、干运行、原子升级与回退;
  • rustls TLS、系统/自定义信任根、证书链和主机名验证;
  • macOS、Linux、Windows 的 x86-64 与 ARM64 原生制品。

安全

  • 默认 TLS 模式要求证书链和主机名验证;
  • SQL 模板和值参数在全部公开执行入口分离;
  • 密码、完整地址和证书正文不进入公开错误;
  • SQL、参数、结果、配置、路径和迁移均有明确上限;
  • 超时或取消结果不确定时丢弃连接,不复用可能错位的协议状态;
  • 原生制品按目标、普通文件、大小和 SHA-256 固定。

破坏性变化与迁移

0.1 仅提供包边界;1.0 的打开入口会建立真实连接并要求对应平台原生制品。顶层应用必须授予数据库网络地址和原生扩展权限。默认 TLS 为 验证完整;受控本机明文测试应显式使用 打开本地

NUMERIC 和超安全范围 INT8 使用文字保精度,JSON/JSONB 返回结构化值,重复结果列名会被拒绝。完整升级步骤见 MIGRATION.md

兼容性与依赖

最低言序版本为 1.1.12,稳定依赖为言库 1.x,清单固定言库 v1.0.0。支持 PostgreSQL 14、15、16、17 和 18。原生扩展使用 ABI v2,须通过字节码 VM/YXB 运行。

验证

发布门禁覆盖 Rust 格式与严格 Clippy、15 个 Rust 单元/真实服务测试、3 个言序规格、真实 PostgreSQL 18 明文与 TLS 1.3、证书主机名拒绝、源码与 Release YXB 消费者、示例与真实往返基准、迁移失败原子回滚、取消竞态,以及数据库对象和 advisory lock 残留检查。

PostgreSQL 服务 CI 还覆盖最低主版本 14 和最高已验证主版本 18;原生运行矩阵在 macOS、Linux、Windows 的 x86-64 与 ARM64 目标核对制品格式、架构、ABI 导出、大小和 SHA-256。

已知限制

  • 不提供异步逐行结果流、COPY、LISTEN/NOTIFY、逻辑复制或流水线模式;
  • 不支持客户端证书/私钥认证;
  • 单次结果在返回前完整解码,最多 100,000 行、1,024 列和 16 MiB;
  • 仅稳定映射一维数组,复杂扩展类型需上层显式适配;
  • 连接池不自动重放未知提交状态的写操作;
  • JSONB 索引建议不是查询计划保证,生产索引仍须按真实数据审核。