docker 方式,postgreSQL18 安装 jieba 分词器扩展

首先用 docker 启动 pgsql 最新版,目前最新版是 18:

shell 复制代码
docker run --name test-postgres \
  --network test-dev-net \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=hcy991002 \
  -p 15432:5432 \
  -v /usr/local/test/dev/postgresql:/var/lib/postgresql \
  --restart always \
  -d postgres:latest

然后按照如下命令来就行了

shell 复制代码
cd /usr/local/pp/dev/jieba_pg_extension

git clone https://github.com/jaiminpan/pg_jieba

# 现在容器内的 /tmp/pg_jieba 就有完整源码. test-postgres 是容器名
docker cp pg_jieba test-postgres:/tmp/

# 进入容器
docker exec -it test-postgres bash

# 更新包列表
apt update

# 安装编译工具和 PostgreSQL 开发头文件
apt install -y build-essential cmake git libpq-dev

# 看 pg_config 是否可用,应该会打印出 pg 版本
pg_config --version

# 安装对应版本的头文件,我的 pgsql 是 18,所以是 poxxxx-dev-18
apt install -y postgresql-server-dev-18

# 进入源码根目录
cd /tmp/pg_jieba

# 初始化子模块
git submodule update --init --recursive

mkdir build && cd build

# 编译,需指定 pg 位置
cmake .. \
  -DPostgreSQL_TYPE_INCLUDE_DIR=$(pg_config --includedir-server) \
  -DPostgreSQL_LIBRARY_DIR=$(pg_config --libdir) \
  -DPostgreSQL_INCLUDE_DIR=$(pg_config --includedir)

make

make install

# 完成 --------

# 测试
psql -U postgres

CREATE EXTENSION pg_jieba;

# 成功使用了扩展
SELECT to_tsvector('jiebacfg', '我在北京中关村上班');
         to_tsvector
------------------------------
 '上班':5 '中关村':4 '北京':3
(1 row)
相关推荐
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ2 分钟前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
l1t10 分钟前
DeepSeek总结的为 pg_dumpall 添加非文本输出格式
postgresql
05大叔2 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密2 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20152 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
卷福同学2 小时前
【养虾日记】QClaw操作浏览器自动化发文
运维·人工智能·程序人生·自动化
岁岁种桃花儿2 小时前
kubenetes从入门到上天系列第二十一篇:Kubernetes安装Ingress实战
云原生·容器·kubernetes
woho7788993 小时前
不同网段IP的网络打印机,打印、扫描设置
运维·服务器·网络
耗子会飞3 小时前
小白学习固定VM虚拟机的centos服务器的IP
运维·服务器·centos
洛阳泰山4 小时前
MaxKB4j Docker Compose 部署指南
java·docker·llm·springboot·rag·maxkb4j