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)
相关推荐
wypywyp2 小时前
2.虚拟机一直显示黑屏,无法打开,可能是分配的硬盘空间不够
linux·运维·服务器
AlfredZhao2 小时前
Docker 快速入门:手把手教你打包 Python 应用
linux·docker·podman
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.4 小时前
Haproxy会话保持:基于Cookie优化
运维·负载均衡
学习3人组5 小时前
Docker 容器内文件↔本地双向复制备份
运维·docker·容器
crownyouyou5 小时前
Ubuntu输入法使用回车键后字符间距异常的问题
linux·运维·ubuntu
济6175 小时前
linux 系统移植(第十七期)---Linux 内核移植(5)-- 修改网络驱动(2)--- Ubuntu20.04
linux·运维·网络
街灯L6 小时前
【kylin-Linux】Flash兼容插件包安装
大数据·linux·运维·kylin
Howrun7776 小时前
Linux_C++网络编程四种CS模型
linux·运维·服务器
vortex56 小时前
如何快速删除 Linux 中的海量小文件:告别rm命令的缓慢困境
linux·运维·服务器
学习3人组8 小时前
Docker 从本地Label-studio导入 tar 镜像包
运维·docker·容器