您的 Postgres 迁移操作安全吗?
Is your Postgres migration safe or not safe?

原始链接: https://safenotsafe.dev/

``` $ npx safe-not-safe check migration.sql 解析 libpg_query 17 (wasm) · 初始化中 · 0 条语句 · 301 字符 注意:正在下载并编译 PostgreSQL WASM 解析器。 未找到语句。请粘贴迁移脚本或加载示例。 正在检查 — 正在加载 PostgreSQL 解析器。 正在浏览器工作线程中下载并编译 libpg_query WASM。 $ ```

《Hacker News》上关于 **safenotsafe.dev** 的讨论围绕着这款基于浏览器的工具展开。它利用静态分析来判断 Postgres 数据库模式(schema)迁移的安全性。该项目由一位前 Cloudflare 工程师开发,旨在通过 WebAssembly 在本地解析 SQL,帮助开发者尽早发现简单的迁移风险,且无需登录或收集遥测数据。 社区对此反响积极,称赞这种“浏览器优先”的模式能提供即时反馈。然而,讨论也指出了静态分析存在的局限性: * **状态依赖:** 批评者指出,真正的安全性取决于数据库的实际状态(如表大小、现有锁或列类型),而静态规则无法完全预测这些因素。 * **上下文复杂性:** 有经验的用户强调,实际的安全性往往取决于锁队列(lock queuing)和事务行为等因素,而不仅仅是 DDL 语句本身。 * **未来方向:** 改进建议包括:将工具从简单的“安全/不安全”二进制判断,演进为支持自定义安全配置(例如向后兼容或破坏性迁移),并可能增加支持 CI/CD 流水线的命令行版本。 尽管一些用户批评该网站的落地页“营销味过重”,但大众一致认为,此类工具以及使用 `lock_timeout` 等最佳实践,对于防止生产环境故障非常有价值。
相关文章

原文

$ npx safe-not-safe check migration.sql

parse libpg_query 17 (wasm) · initializing · 0 statements · 301 chars

note Downloading and compiling the PostgreSQL WASM parser.

No statements found. Paste a migration or load a sample.

CHECKING — Loading PostgreSQL parser.

Downloading and compiling libpg_query WASM in a browser worker.

$

联系我们 contact @ memedata.com