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 来说,就已经是"已安装"状态了。

相关推荐
swordbob10 分钟前
MySQL和Oracle关于读未提交的区别
数据库·mysql·oracle
林九生13 分钟前
【实用技巧】MySQL 绿色版一键路径更新脚本详解 —— update_path.bat 深度解析
android·数据库·mysql
野生技术架构师16 分钟前
从 B+ 树到应用层分表:MySQL 海量数据架构解析
数据库·mysql·架构
Amnesia0_018 分钟前
MySQL的事务
数据库·mysql
AC赳赳老秦24 分钟前
OpenClaw + 云数据库运维:自动备份、扩容、迁移 RDS/MySQL 云数据库
运维·开发语言·数据库·人工智能·python·mysql·openclaw
TDengine (老段)34 分钟前
TDengine 物理计划生成 — 算子下沉、Exchange 与 Subplan 切分
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
swordbob39 分钟前
MYSQL RR 解决“脏读+不可重复读“和“幻读“的本质区别
数据库·mysql
IvorySQL1 小时前
PostgreSQL 全球对话:开源链接世界,共建共治共享
数据库·postgresql·开源
Nontee1 小时前
新手数据库进阶:大白话图解四大隔离级别与底层机制
数据库·oracle
dishugj1 小时前
【YashanDB 认证】我的崖山数据库初体验:从陌生到上手的成长之路
数据库