用途:为 Postgres 模式、约束、查询、事务、暂存与后台任务的设计和代码审查提供规则。核心主张是数据库持有状态、应用持有逻辑:Postgres 负责结构完整性,每个动作作为一条语句执行,其自身锁即保证原子性,派生值随输入一起写入,其余交给任务。
主要能力与规则:结构完整性用主键、外键、NOT NULL、唯一性(含部分唯一索引)与 EXCLUDE 约束表达;不添加 CHECK 表达式,值规则归应用边界解析器。写入前在共享层解析输入。每个动作尽量写成单条语句,把权限与归属检查折进读写语句,用 INSERT ... ON CONFLICT 做幂等写入。允许语句副作用产生的锁(如 FOR UPDATE SKIP LOCKED 认领、唯一索引仲裁),禁止 LOCK TABLE、咨询锁和独立 SELECT ... FOR UPDATE 跨往返持锁,也不引入 SERIALIZABLE。多步操作可先写入带前缀的暂存表再一条语句搬入正式表。不用触发器,派生值由修改输入的代码路径在同一事务中经共享函数写入。不用对账队列,任务与写入同事务入队,任务至少执行一次且需幂等,晚到运行不得覆盖更新输出。
使用方式:遵循项目更严格的数据库策略与迁移工具;引入被禁模式前先询问并优先重构。用真实 Postgres 验证查询、约束、任务与迁移,用必须被拒绝的写入测试约束,不要伪造数据库测试 SQL。
限制:规则假定使用 Postgres;未提供具体安装命令、价格或平台信息。