conda中安装 rdkit版本的postgresql然后在Win11中使用虚拟环境里的rdkit

目录

[第一步:把 整个 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

直接复制文件(推荐,最简单可靠)

这是最直接、最不容易出错的方法。你需要复制两种文件到两个不同的目录。

  1. 复制 .dll 文件

    • 为什么 :PostgreSQL 服务器进程在加载扩展时,会去 dynamic_library_path 指定的目录(其中就包括 $libdir,它通常指向这个 lib 路径)里查找 .dll 文件。
  2. 复制 .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 来说,就已经是"已安装"状态了。

相关推荐
Gauss松鼠会11 小时前
GaussDB(DWS) GUC参数修改、查看
java·数据库·sql·数据库开发·gaussdb
米高梅狮子11 小时前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
滴滴答答哒11 小时前
.NET Core 基于 AOP + Polly 实现数据库死锁自动重试
数据库·.netcore·sqlsugar
yuzhiboyouye11 小时前
所有的 SQL 都要经过 Explain 优化,是什么意思
数据库·sql
洛水水11 小时前
Redis 实现限流功能的几种方法
数据库·redis·缓存
IvorySQL11 小时前
开源共建分论坛圆桌讨论:如何真正融入 PostgreSQL 社区?
postgresql·开源·区块链
l1t11 小时前
DeepSeek总结的postgresql 数据分析师 vs width_bucket()
数据库·postgresql
米高梅狮子11 小时前
Redis
数据库·redis·mysql·缓存·docker·容器·github
dinl_vin11 小时前
FastAPI 系列 ·(四):数据库集成——SQLAlchemy 2.0 异步 ORM 与 Alembic 迁移
java·数据库·fastapi
坚定信念,勇往无前12 小时前
electron-vite 安装better-sqlite3
javascript·数据库·electron