跳转到主要内容

rdkit

在PostgreSQL化学领域数据管理功能

概览

扩展包名版本分类许可证语言
rdkit202609.1FEATBSD-3-ClauseC++
ID扩展名BinLibLoadCreateTrustReloc模式
2930rdkit否是否是否是-

RDKit 2026.09.1 (package 202609.1) installs SQL extension 4.8.0. Modern recipes target EL9+, Trixie, Noble and Resolute; DEB supports PG14-18 across suppliers. Legacy Bookworm/Jammy recipes use 202303.3 with librdkit1; modern DEB uses librdkit1t64.

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY202609.11817161514rdkit-
RPMPIGSTY202609.11817161514rdkit_$vrdkit
DEBPIGSTY202609.11817161514postgresql-$v-rdkit-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
d13.x86_64
d13.aarch64
u22.x86_64
u22.aarch64
u24.x86_64
u24.aarch64
u26.x86_64
u26.aarch64

构建

您可以使用 pig build 命令构建 rdkit 扩展的 RPM / DEB 包:

pig build pkg rdkit         # 构建 RPM / DEB 包

安装

您可以直接安装 rdkit 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

安装
pig install rdkit;          # 当前活跃 PG 版本安装
pig
pig ext install -y rdkit -v 18  # PG 18
pig ext install -y rdkit -v 17  # PG 17
pig ext install -y rdkit -v 16  # PG 16
pig ext install -y rdkit -v 15  # PG 15
pig ext install -y rdkit -v 14  # PG 14
dnf
dnf install -y rdkit_18       # PG 18
dnf install -y rdkit_17       # PG 17
dnf install -y rdkit_16       # PG 16
dnf install -y rdkit_15       # PG 15
dnf install -y rdkit_14       # PG 14
apt
apt install -y postgresql-18-rdkit   # PG 18
apt install -y postgresql-17-rdkit   # PG 17
apt install -y postgresql-16-rdkit   # PG 16
apt install -y postgresql-15-rdkit   # PG 15
apt install -y postgresql-14-rdkit   # PG 14

创建扩展:

CREATE EXTENSION rdkit;

用法

来源:

rdkit 提供分子类型、子结构搜索、指纹和化学描述符。本文依据 RDKit 2026.03.6 随附的 PostgreSQL cartridge。

创建扩展

CREATE EXTENSION rdkit;

该 cartridge 会增加 mol、bfp 和 sfp 等化学类型。

核心搜索操作符

cartridge 文档覆盖了以下内容:

  • @> 和 <@:用于子结构匹配。
  • @=:用于分子精确相等判断。
  • %、<%> 和 <#> 这一类指纹相似度与 KNN 操作符:用于相似性搜索。

这些操作通常会和建在指纹列上的 GiST 索引一起使用。

指纹与相似度

文档中常见的 SQL 指纹函数包括 morgan_fp、morganbv_fp、featmorgan_fp、rdkit_fp、atompair_fp、torsion_fp、layered_fp 和 maccs_fp。

cartridge docs 中的示例:

SELECT tanimoto_sml(
  morganbv_fp('c1ccccc1'::mol),
  morganbv_fp('c1ccccc1O'::mol)
);

描述符与校验

cartridge docs 还公开了校验与描述符辅助函数,例如:

  • is_valid_smiles()
  • is_valid_ctab()
  • is_valid_smarts()
  • mol_amw()
  • mol_hba()
  • mol_numrings()

这些函数构成了 SQL 层面对分子结构做分析时最主要的用户接口。

版本与升级边界

RDKit 工具包发行版 2026.03.6 内含的 SQL 扩展版本是 4.8.0,两者使用不同的版本号。上游 4.7.0 到 4.8.0 的 SQL 模板修改函数代价,但其中 fmcs_smiles 语句的行注释吞掉了代价子句和终止符。不要假定未经修补的 ALTER EXTENSION rdkit UPDATE 路径可用;应检查实际安装的升级脚本,并先在恢复出的副本上测试。打包补丁与上游源码需要区分。

这个页面对您有帮助吗?