一、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數據庫并確保其數據完整性與查詢性能,適用于后續臨床數據分析或研究使用。