Skip to content

数据库能力差异

不同数据库在数据类型、存储过程、视图、事务和安全上下文方面存在差异。数据墙DBW会尽量提供一致的 API 表面,但部分能力仍取决于底层数据库。

SQL Server

会话上下文

启用 set-session-context 后,数据墙DBW可以在执行查询前设置 SQL 会话上下文,使数据库对象能够读取调用方声明。

json
{
  "data-source": {
    "database-type": "mssql",
    "connection-string": "@env('SQL_CONNECTION_STRING')",
    "options": {
      "set-session-context": true
    }
  }
}

启用会话上下文会影响缓存策略,因为不同用户的会话值不能共享同一份缓存响应。

不支持的数据类型

数据类型原因
geography地理空间类型;不支持序列化
geometry平面空间类型;不支持序列化
hierarchyid层次数据类型;不支持序列化
rowversion行版本类型;不包含在 API 响应中
sql_variant可变类型列;不支持类型推断
xmlXML 类型;不支持序列化

PostgreSQL

最低版本

需要 PostgreSQL 11 或更高版本。数据墙DBW 使用 Npgsql 连接 PostgreSQL。

不支持的数据类型

数据类型备注
bytea二进制字符串;不支持序列化
date建议使用 timestamptimestamptz
time不带日期的时间
timestamptz带时区的时间戳;当前不支持

MySQL

最低版本

需要 MySQL 8 或更高版本。

不支持的数据类型

数据类型备注
geometry空间类型;不支持序列化
json原生 JSON 类型;当前不支持映射
set枚举集合类型;不支持类型推断
time不带日期的时间

相关内容

数据墙DBW 产品文档与开发指南。