用途:面向 Materialize 的本地开发与运行,覆盖编译检查、启动本地环境、代码格式化与 lint。
主要能力与用法:编译检查使用 cargo check;不要用 cargo build 或 cargo run 构建或运行 Materialize,改用 bin/environmentd --build-only 仅构建不运行。本地启动使用 bin/environmentd --optimized,加 --reset 可删除上次运行数据(清空 mzdata 目录并重置 Postgres schema),适合测试 catalog 变更或全新开始。
连接方式:常规访问用 psql -p 6875 -h localhost -U materialize;系统访问用 psql -p 6877 -h localhost -U mz_system。若因 CockroachDB 未运行而失败,可启动容器:docker run --name=cockroach -d -p 26257:26257 -p 26258:8080 cockroachdb/cockroach:latest start-single-node --insecure --store=type=mem,size=2G;容器已存在则用 docker start cockroach。
其他标志:--tokio-console 启用 Tokio console 调试异步任务;--coverage 带覆盖率插桩构建;--sanitizer address|memory|thread 使用指定 sanitizer 构建。
格式化与 lint:用 bin/fmt 格式化 Rust、Python 和 Protobuf 文件;用 bin/lint 检查 lint 错误;用 cargo clippy --all-targets -- -D warnings 检查 Rust 警告。
日志过滤:设置 MZ_LOG_FILTER 为 tracing 兼容的过滤表达式,例如 mz_adapter::catalog::apply=trace,warn。
内存分配:Linux 上默认链接 jemalloc;使用 --no-default-features 编译可改用系统分配器。
限制:资料未提供平台支持范围、性能数据、收费信息及更多使用步骤。