目录
[第一步:把 整个 conda 环境的 bin 目录 加入Win11系统 PATH](#第一步:把 整个 conda 环境的 bin 目录 加入Win11系统 PATH)
[第三步:再重启 PostgreSQL](#第三步:再重启 PostgreSQL)
创建一个名为 rdkit-pg 的新环境,并同时安装 PostgreSQL 和 rdkit-postgresql
conda create -n rdkit-pg -c conda-forge -c rdkit postgresql rdkit-postgresql
where /r %CONDA_PREFIX% rdkit.dll
直接复制文件(推荐,最简单可靠)
这是最直接、最不容易出错的方法。你需要复制两种文件到两个不同的目录。
-
复制
.dll文件:- 为什么 :PostgreSQL 服务器进程在加载扩展时,会去
dynamic_library_path指定的目录(其中就包括$libdir,它通常指向这个lib路径)里查找.dll文件。
- 为什么 :PostgreSQL 服务器进程在加载扩展时,会去
-
复制
.control和.sql文件:- 为什么 :当你执行
CREATE EXTENSION rdkit;命令时,PostgreSQL 会去这个目录读取.control文件来获取扩展的元数据和安装脚本。
- 为什么 :当你执行
第一步:把 整个 conda 环境的 bin 目录 加入Win11系统 PATH
运行这条 管理员 PowerShell 命令
env:Path += ";D:\\softWare\\anaconda3\\envs\\rdkit-pg\\Library\\bin" \[Environment\]::SetEnvironmentVariable("Path", env:Path, "Machine")
第二步:复制 所有依赖 DLL
把 rdkit.control + 所有 .sql 复制过去
copy "D:\softWare\anaconda3\envs\rdkit-pg\Library\lib\rdkit.dll" "D:\softWare\PostgreSQL\18\lib\"
把 rdkit.control + 所有 .sql 复制过去
xcopy "D:\softWare\anaconda3\envs\rdkit-pg\Library\bin\*.dll" "D:\softWare\PostgreSQL\18\lib\" /Y
第三步:再重启 PostgreSQL
powershell
net stop postgresql-x64-18
net start postgresql-x64-18
第四步:再创建扩展
sql
CREATE EXTENSION rdkit;
这样就可以在Win11里的postgre里使用Rdkit功能了
第五步:数据库备份文件恢复
java
pg_restore -U postgres -d chemical -h localhost "C:\Users\Administrator\Documents\xwechat_files\wxid_llemvcpuc4tk22_d129\msg\file\2026-04\dump-chemical-202604301450.sql"
完成文件复制后,rdkit 扩展对于你的独立 PostgreSQL 来说,就已经是"已安装"状态了。