@castore/event-storage-adapter-postgres

中文文档
2.4.2发布于 2025/04/18MITTypeScriptESM + CJS近 30 天下载 2423

使用 Postgres 执行 DRY Castore 事件

中文使用文档
文档目录6 节
  1. * 安装
  2. 使用量
  3. 如何运作
  4. 数据库表结构和自定义
  5. 表格结构概览
  6. 创建 EventTable 中的自定义选项

Postgres 事件存储适应器

德里·卡斯托尔 EventStorageAdapter 使用 Postgres 数据库执行.

* 安装

# npm
npm install @castore/event-storage-adapter-postgres

# yarn
yarn add @castore/event-storage-adapter-postgres

这个软件包 @castore/core 作为对等依赖,您也必须安装:

# npm
npm install @castore/core

# yarn
yarn add @castore/core

使用量

import { PostgresEventStorageAdapter } from '@castore/event-storage-adapter-postgres';

const pokemonsEventStorageAdapter = new PostgresEventStorageAdapter({
  // 👇 You can specify a connection string for your Postgres database
  connectionString: 'postgresql://postgres:postgres@localhost:5432/postgres',
});

const pokemonsEventStore = new EventStore({
  ...
  eventStorageAdapter: pokemonsEventStorageAdapter,
});

如何运作

这个适配器只是让 Postgres 数据库中的事件持续存在.

数据库表结构和自定义

以下概述适配器使用的基本表格结构和创建事件表时可用的定制选项.

表格结构概览

栏数据类型默认自定义说明
编号BigSerial(或如果通过 idType 指定为Serial)大国主密钥; 自动递增标识符
聚合名称VARCHAR( 总体名称Length)瓦努阿图(32)综合名称( 指定事件存储)
总计( d)UUID, ULID, 或 VARCHAR( 如果类型是 VARCHAR , 则总长)用户名集合的标识符; 如果使用 VARCHAR, 必须指定长度
版本BigINT(或INTEGER,如果通过版本Type指定的话)大键事件版本编号
类型VARCHAR( Length 类型)瓦努阿图(64)事件类型名称
数据贾森布无储存在JSONB的事件有效载荷
元数据贾森布无其他事件元数据
时间戳TimestAMPTZ 与防守当前 TIMESTAMP(3)现值 TIMESTAMP(3)事件的时间戳( 插入时自动设定)
团结(汇总 名称,汇总 id,版本)无强制执行聚合 名称、集合 id和版本的组合是独一无二的

创建 EventTable 中的自定义选项

选项默认值允许值 / 描述
表格Name事件要创建的表格名称
代码大国Id列的数据库类型; 允许值: BIGSERIAL 或 SERIAL
总和Name Length第32条集合的长度 名称 VARCHAR 列
总计{类型:"UUID"}定义聚合 id列类型;可以是UUID,ULID,也可以是VARCHAR(如果使用VARCHAR,必须提供长度)
版本类型大键版本列的数据库类型; 允许值: BIGINT 或 INTEGER
类型Length64国道VARCHAR 类型列的长度

此外,索引在croup name,版本上创建,综合索引在(croupgate name,croup id)上创建,以提高查询性能.

版本与发布记录

@castore/event-storage-adapter-postgres 共发布 3 个版本,首次发布于 2025/02/18;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.4.2latest2025/04/181.6 年前
2.4.12025/02/251.7 年前
2.4.02025/02/181.7 年前

关于 @castore/event-storage-adapter-postgres 的常见问题

@castore/event-storage-adapter-postgres 是什么?

使用 Postgres 执行 DRY Castore 事件

如何安装 @castore/event-storage-adapter-postgres?

在项目目录运行 npm install @castore/event-storage-adapter-postgres,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@castore/core(^2.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@castore/event-storage-adapter-postgres 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@castore/event-storage-adapter-postgres 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@castore/event-storage-adapter-postgres 可以商用吗?

@castore/event-storage-adapter-postgres 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@castore/event-storage-adapter-postgres 的下载量有多少?

根据 npm 官方下载统计,@castore/event-storage-adapter-postgres 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,423 次,日均约 81 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@castore/event-storage-adapter-postgres 还在维护吗?

最新版本 2.4.2 发布于 2025/04/18(1.6 年前);至今共发布 3 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/02/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。