当前位置: 首页 > news >正文

PostgreSQL导入mimic4

一、PostgreSQL连接验证

  1. 正确连接命令
    使用psql工具连接目标数据库,格式为:
    psql -h 127.0.0.1 -U 用户名 -d 数据库名 --password  
    
    示例(用户名Shinelon,数据库mimic):
    psql -h 127.0.0.1 -U Shinelon -d mimic --password  
    
    连接成功后会显示数据库名=#提示符。

二、数据库创建

可通过两种方式创建MIMIC专用数据库:

  1. 命令行方式:在psql中执行CREATE DATABASE mimiciv;(库名可自定义,如mimicmimiciv)。
  2. pgAdmin图形化方式:右键“Databases”→“Create”→“Database”,输入库名即可。

三、执行建表脚本

通过官方脚本创建MIMIC表结构,支持两种执行方式:

  1. 命令行执行
    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  
    
  2. 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;授权。

五、添加约束与索引(数据完整性与性能优化)

数据导入完成后,需执行约束脚本(确保数据关联完整性)和索引脚本(提升查询效率):

  1. 添加约束(执行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)。

  2. 添加索引(执行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文件完整性。

六、安装验证

  1. 检查表结构与约束:连接数据库后执行\dt(查看表)和\d 表名(如\d patients),确认表结构及约束已创建。
  2. 验证数据与索引
    SELECT COUNT(*) FROM patients;  -- 确认数据导入成功(返回非0值)
    SELECT indexname FROM pg_indexes WHERE tablename = 'admissions';  -- 确认索引已创建
    

通过以上步骤,可完整部署MIMIC数据库并确保其数据完整性与查询性能,适用于后续临床数据分析或研究使用。

http://www.lryc.cn/news/623459.html

相关文章:

  • 数据结构代码分享-1 顺序表
  • 简单的 VSCode 设置
  • Oracle algorithm的含义
  • 基于Vue + Node能源采购系统的设计与实现/基于express的能源管理系统#node.js
  • Qt 5.5 的安装与配置(使用 VSCode编辑)
  • 【架构师从入门到进阶】第五章:DNSCDN网关优化思路——第十二节:网关安全-信息过滤
  • 基于多Agent的AFSIM复杂场景脚本生成技术(使用Claude Code)
  • 根号算法Ⅰ
  • 天地图应用篇: 增加缩放、比例尺控件
  • 24. 什么是不可变对象,好处是什么
  • 【Docker】搭建一款功能强大且免费的开源在线绘图工具 - draw.io
  • 云原生俱乐部-RH134知识点总结(2)
  • 62.不同路径
  • 【计算机网络面试】键入网址到网页显示期间,发生了什么?
  • 网络常识-DNS如何解析
  • 数据结构初阶(19)外排序·文件归并排序的实现
  • Ugit使用记录
  • 【自动化运维神器Ansible】template流程控制:for循环与if条件判断详解
  • Flink作业执行的第一步:DataFlow graph的构建
  • C11期作业18(07.12)
  • 栈与队列:数据结构中的双生子
  • 【JavaEE】多线程 -- 单例模式
  • [python学习记录2]变量
  • Maven 开发实践
  • PCA的一些实际应用
  • 详解flink java基础(一)
  • 前端项目的打包部署
  • 【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
  • Docker Compose 安装 Neo4j 的详细步骤
  • Docker之自定义jkd镜像上传阿里云