一、PostgreSQL连接验证
- 正确连接命令
使用psql
工具连接目标数据库,格式为:
示例(用户名psql -h 127.0.0.1 -U 用户名 -d 数据库名 --password
Shinelon
,数据库mimic
):
连接成功后会显示psql -h 127.0.0.1 -U Shinelon -d mimic --password
数据库名=#
提示符。
二、数据库创建
可通过两种方式创建MIMIC专用数据库:
- 命令行方式:在
psql
中执行CREATE DATABASE mimiciv;
(库名可自定义,如mimic
或mimiciv
)。 - pgAdmin图形化方式:右键“Databases”→“Create”→“Database”,输入库名即可。
三、执行建表脚本
通过官方脚本创建MIMIC表结构,支持两种执行方式:
- 命令行执行:
示例(数据库psql -d 数据库名 -f /绝对路径/create.sql
mimiciv
,脚本路径为本地下载的create.sql
):psql -d mimiciv -f C:\Users\Shinelon\Downloads\mimic-code-main\mimic-iv\buildmimic\postgres\create.sql
- pgAdmin执行:选中目标数据库→右键“Query Tool”→“Open File”选择
create.sql
→运行脚本。
四、导入CSV.gz数据
使用load_gz.sql
脚本导入压缩数据,命令格式:
psql -d 数据库名 -v ON_ERROR_STOP=1 -v mimic_data_dir=数据存放路径 -f /脚本路径/load_gz.sql
示例:
psql -d mimic -v ON_ERROR_STOP=1 -v mimic_data_dir=H:/mimic-iv-2.2 -f C:\Users\Shinelon\Downloads\mimic-code-main\mimic-iv\buildmimic\postgres\load_gz.sql
关键注意事项:
- 确保数据路径(如
H:/mimic-iv-2.2
)无中文/特殊符号,PostgreSQL服务有权限访问(建议复制到本地磁盘,避免移动硬盘)。 - 系统需安装
gunzip
(Windows可通过Git Bash提供),或提前解压为.csv
文件。 - 执行用户需有数据库
INSERT
权限,可通过GRANT ALL PRIVILEGES ON DATABASE mimic TO Shinelon;
授权。
五、添加约束与索引(数据完整性与性能优化)
数据导入完成后,需执行约束脚本(确保数据关联完整性)和索引脚本(提升查询效率):
添加约束(执行
constraint.sql
):psql -d mimiciv -v ON_ERROR_STOP=1 -v mimic_data_dir=H:/mimic-iv-2.2 -f mimic-iv/buildmimic/postgres/constraint.sql
作用:创建主键、外键、唯一约束等,保证表间数据关联正确(如
admissions.patient_id
关联patients.patient_id
)。添加索引(执行
index.sql
):psql -d mimiciv -v ON_ERROR_STOP=1 -v mimic_data_dir=H:/mimic-iv-2.2 -f mimic-iv/buildmimic/postgres/index.sql
作用:为常用查询字段(如时间、ID)创建索引,加速后续数据分析查询(如按患者ID筛选、按时间范围统计)。
注意:
- 若提示“约束冲突”,可能是数据导入不完整或格式错误,需先检查导入的CSV文件完整性。
六、安装验证
- 检查表结构与约束:连接数据库后执行
\dt
(查看表)和\d 表名
(如\d patients
),确认表结构及约束已创建。 - 验证数据与索引:
SELECT COUNT(*) FROM patients; -- 确认数据导入成功(返回非0值) SELECT indexname FROM pg_indexes WHERE tablename = 'admissions'; -- 确认索引已创建
通过以上步骤,可完整部署MIMIC数据库并确保其数据完整性与查询性能,适用于后续临床数据分析或研究使用。