首先用 docker 启动 pgsql 最新版,目前最新版是 18:
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
然后按照如下命令来就行了
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)
998

被折叠的 条评论
为什么被折叠?



