Files
fire-safety-ymd/docs/import/db-samples/README.md
2026-09-05 15:46:37 +08:00

35 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PostgreSQL/PostGIS 本地样例说明
本目录的 `*.sql` 是用户提供的本地结构与少量数据样例,仅用于核对字段映射和设计查询。
- SQL 导出可能包含 `DROP TABLE`、真实联系人、电话和精确坐标。
- 应用、测试和开发 Agent 不得执行这些 SQL。
- `*.sql` 已由仓库根 `.gitignore` 忽略,避免误提交敏感数据。
- 如需长期纳入版本控制,应另行生成脱敏 fixture:删除姓名/电话、替换精确坐标并移除所有 DDL,只保留最小测试字段。
- 实库结构、SRID、几何类型、有效性、索引和数据时效必须通过只读 readiness probe 核验,不能由两条样例推定。
当前每表两条正常样例已足够确定 MCP v1 字段映射,不需要继续增加同类真实记录。后续若制作可提交的脱敏测试 fixture,优先补充:空几何、边界点、多网格重叠、无结果、不同状态枚举、空容量/时间、LineString 与 MultiLineString、Polygon 与 MultiPolygon,而不是更多真实联系人或生产坐标。
## 已确认的防火通道导入例外
2026-09-04 用户现场重导 `st_2_xianyoufanghuotongdao` 时,原导出 DDL 的 `geom geometry(GEOMETRY)` 在约第 256 条遇到带 Z 维度的记录并报 PostgreSQL/PostGIS `22023: Geometry has Z dimension but column does not`。此前可插入的二维记录与该错误共同确认:源文件包含混合二维/Z 几何。用户将原始导入列改为不限定 typmod 的 `geometry` 后报告导入成功。
后续 Agent 必须遵守:
- 原始导入层保留 `geom geometry`,不要无审查改回二维 `geometry(GEOMETRY)`。
- 不得为“导入成功”而对原始数据执行 `ST_Force2D`、改写 WKB 或丢弃 Z;二维算法需要时只在只读查询或派生层显式转换。
- Z 维度与 SRID 无关。该次导入没有证明 EPSG:4326,也没有代替最终行数、维度分布和数据质量核验。
获得实库只读连接后,可先用以下非敏感聚合确认分布:
```sql
SELECT
ST_NDims(geom) AS dimensions,
GeometryType(geom) AS geometry_type,
COUNT(*) AS row_count
FROM public.st_2_xianyoufanghuotongdao
WHERE geom IS NOT NULL
GROUP BY ST_NDims(geom), GeometryType(geom)
ORDER BY dimensions, geometry_type;
```