当前位置: 首页 > 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.dtcms.com/a/336051.html

相关文章:

  • SQL详细语法教程(四)约束和多表查询
  • C语言相关简单数据结构:双向链表
  • Rust Async 异步编程(五):执行器和系统 I/O
  • Effective C++ 条款47: 使用traits classes表现类型信息
  • 基于强化学习的柔性机器人控制研究
  • 【大模型微调系列-07】Qwen3全参数微调实战
  • 关于虾的智能养殖系统的开发与实现(LW+源码+讲解+部署)
  • 【LeetCode题解】LeetCode 33. 搜索旋转排序数组
  • 详解flink java基础(一)
  • 嵌入式软件--->任务间通信
  • 【C++知识杂记1】智能指针及其分类
  • 05-实施任务控制
  • open Stack及VM虚拟机和其他平台虚拟机迁移至 VMware vSphere(esxi)虚拟化平台骨灰级后台磁盘替换法迁移方式
  • Maven依赖范围
  • C11期作业18(07.12)
  • 跨越南北的养老对话:为培养“银发中国”人才注入新动能
  • Linux——一些常用的其他命令
  • 学习Python中Selenium模块的基本用法(5:程序基本步骤)
  • MySQL数据库备份与恢复
  • 《棒球百科》奥运会取消了棒球·野球1号位
  • 旋钮键盘项目---foc讲解(闭环位置控制)
  • Redis-plus-plus API使用指南:通用操作与数据类型接口介绍
  • TensorFlow|张量流
  • C/C++复习(四)
  • 【LeetCode】单链表经典算法:移除元素,反转链表,约瑟夫环问题,找中间节点,分割链表
  • Javascript面试题及详细答案150道之(106-120)
  • 深度学习——常见的神经网络
  • Tomcat 类加载器原理深度解析
  • PowerPoint和WPS演示让多个对象通过动画同时出现
  • 近期(2021-2025)发行的常用国军标GJB 整理,2021,2022,2023,2024,2025