使用现有的 bitnami/postgresql:16.3.0 镜像安装pg_roaringbitmap插件

dockerfile 复制代码
# 使用现有的 bitnami/postgresql:16.3.0 镜像作为基础
FROM bitnami/postgresql:16.3.0

USER root

# 安装构建工具和依赖项
RUN install_packages git make gcc postgresql-server-dev-all

# 克隆 pg_roaringbitmap 源码
RUN git clone https://github.com/ChenHuajun/pg_roaringbitmap.git /pg_roaringbitmap

# 编译并安装插件
RUN cd /pg_roaringbitmap && \
    make && \
    make install

# 清理构建环境
RUN rm -rf /pg_roaringbitmap && \
    apt-get remove --purge -y git make gcc postgresql-server-dev-all && \
    apt-get autoremove -y && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 切换回非root用户
USER 1001

# 继续使用现有的 ENTRYPOINT 和 CMD
ENTRYPOINT [ "/opt/bitnami/scripts/postgresql/entrypoint.sh" ]
CMD [ "/opt/bitnami/scripts/postgresql/run.sh" ]

退出容器后,连接到 PostgreSQL 数据库,并使用 CREATE EXTENSION 命令加载插件:

sql 复制代码
psql -U postgres -d your_database -c "CREATE EXTENSION roaringbitmap;"
psql -U postgres -d your_database -c "\dx"

你应该能看到 roaringbitmap 在已安装的扩展列表中。

相关推荐
FrankYoou1 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
隆里卡那唔1 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样1 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
计算机毕设定制辅导-无忧学长1 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
程序员柳2 小时前
基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
数据库·微信小程序·layui
梦在深巷、2 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
IT乌鸦坐飞机2 小时前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
IT_10242 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
祁思妙想4 小时前
八股学习(三)---MySQL
数据库·学习·mysql
惊骇世俗王某人4 小时前
1.MySQL之如何定位慢查询
数据库·mysql