1.记录将MIMIC-IV1.0导入到PostgreSQL时用的代码

1.1打开SQL Shell

连续回车四下,输入密码

Snipaste_2023-05-30_16-34-16

1.2创建数据库以保存数据

1
2
DROP DATABASE IF EXISTS mimiciv; 
CREATE DATABASE mimiciv OWNER postgres;

如果是首次安装MIMIC,则“ DROP DATABASE”命令将警告不存在数据库,这是正常的。
而第二句,这将创建mimic用户拥有的数据库postgres。当然,如果您愿意,也可以更改这些值,但是请注意,此处所做的任何更改都需要在后续步骤中进行进一步的更改。所以不推荐更改。

1.3连接到mimic数据库

1
\c mimiciv;

1.4在数据库中创建表

1、默认情况下postgres使用public架构。虽然这是个人喜好,但建议创建一个独立的架构来托管数据。为此,创建mimiciv模式:

1
CREATE SCHEMA mimiciv;

2、通知postgres默认情况下应使用该mimiciv架构。**每次启动psql时都需要执行此操作**

1
set search_path to mimiciv;

3、现在运行创建表脚本(注意:创建表脚本的路径,脚本在下载的mimic-iv代码中)。路径一定要正确,注意路径的分隔符是左下划线‘/’,直接复制的windows路径是右下划线。

1
\i E:/Work/mimic/mimic-iv-master/buildmimic/postgres/create.sql

如果看到很多“注意:表不存在”,请放心,这很正常。因为该脚本会在创建表之前尝试删除该表。

1.4准备将数据加载到表中

1、该命令告诉脚本在发生任何错误时停止执行:我们宁愿在发生错误时停止执行,因此我们知道数据库尚未完全加载,即使执行完毕也无法使用:

1
\set ON_ERROR_STOP 1

2、指定存放mimic数据的目录:

1
\set mimic_data_dir 'E:\Work\mimic\Dataset\mimic-iv-1.0'

此命令指定包含数据的文件夹。就我而言,我指定了’E:\Work\mimic\Dataset\mimic-iv-1.0’。此文件夹包含构成MIMIC的三个关键文件夹core、hosp、icu,里面包含所有CSV文件(压缩或未压缩)。

3、将数据加载到表中

如果您使用压缩数据文件并安装了7-zip,请运行7-zip加载脚本: \i load_7z.sql

1
\i E:/Work/mimic/mimic-iv-master/buildmimic/postgres/load_7z.sql

现在,可以看到复制过程已经开始。Snipaste_2023-05-16_21-22-32

如果30分钟copy没有新增,那么按下回车然后继续等待,等到copy完成,出现mimiciv字样,数据便导入完成了,最后一步安装完索引即可

4、建立索引

加载完成后,建议安装索引以提高对数据库的查询速度。这些可以通过运行以下命令进行安装(同样是需要较长的时间):

乱码没事,因为windows终端编码格式不是utf-8

1
\i \i E:/Work/mimic/mimic-iv-master/buildmimic/postgres/index.sql

2.测试查询成功

先将postgresql的bin加入到环境变量中,

再用的git bash打开ptsql:(因为windows终端编码格式不是utf-8,查询会.显示乱码)

1
psql -U postgres -d mimiciv -h localhost -p 5432

进行查询:

1
SELECT stay_id, intime, outtime FROM mimic_icu.icustays LIMIT 10;

Snipaste_2023-05-17_09-34-20

3.遇到的问题

问题1

在将数据加载到表中时报了一个错:

1
2
mimiciv=# \i E:/Work/mimic/mimic-iv-master/buildmimic/postgres/load_7z.sql
psql:E:/Work/mimic/mimic-iv-master/buildmimic/postgres/load_7z.sql:9: 错误: \cd: 无法切换目录至 "E:WorkmimicDataset/core": No such file or directory

解决办法:

重新指定存放mimic数据的目录:(将反斜杠\改成正斜杠/)

1
\set mimic_data_dir 'E:/Work/mimic/Dataset/mimic-iv-1.0'

再重新加载:

1
\i E:/Work/mimic/mimic-iv-master/buildmimic/postgres/load_7z.sql

问题2

报错:

1
2
ERROR: 系统找不到指定的文件。
admissions.csv.gz

解决办法:

改sql脚本中的目录,我这边sql是默认数据在mimic_data_dir目录下了,实际上hosp数据在mimic_data_dir/hosp目录下,其他icu以此类推

Snipaste_2023-06-14_18-23-07

修改:

1
2
3
4
-- hosp schema
\cd :mimic_data_dir/hosp
-- icu schema
\cd ../icu

4.补充MIMIC IV v2.2版本安装脚本分享

https://mp.weixin.qq.com/s/3p8IlYahd0yF5qx-lctqVw


参考链接:

https://blog.csdn.net/weixin_42998214/article/details/125449074

https://blog.csdn.net/qq_41311259/article/details/116230836

https://blog.csdn.net/NickyCat/article/details/115423194