数据库·26 天前
PlanetScale 发布博文,总结 Postgres 多租户架构的几种模式与最佳实践。文章将多租户方案分为三层:数据库集群级隔离、逻辑数据库级隔离、以及共享 Schema(即同一逻辑数据库内通过 tenant_id 字段区分租户)。PlanetScale 明确不推荐依赖 Postgres Row-Level Security (RLS) 实现租户隔离,认为其性能开销大、调试困难、且容易误配置导致数据泄露。推荐的做法是共享 Schema + 应用层强制 tenant_id 过滤,配合连接池或中间件确保租户无法跨域访问。文章还澄清了术语:此前使用的 "row-level isolation" 改为 "shared-schema",避免与 RLS 混淆。