使用现有的 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 在已安装的扩展列表中。

相关推荐
帽儿山的枪手1 小时前
通过网络命名空间实现网络分流的思想及方法
网络协议·docker·dns
经年小栈1 小时前
性能优化-Spring参数配置、数据库连接参数配置、JVM调优
数据库·spring·性能优化
一个小白12 小时前
C++ 用红黑树封装map/set
java·数据库·c++
神奇小永哥2 小时前
redis之缓存雪崩
数据库·redis·缓存
ronshi2 小时前
docker 多主机容器组网
docker·多主机容器组网
麻花20132 小时前
sql server分析表大小
数据库
纪元A梦3 小时前
Redis最佳实践——秒杀系统设计详解
数据库·redis·缓存
小码过河.4 小时前
CentOS 安装 Docker
linux·docker·centos
老马啸西风4 小时前
Neo4j GDS-09-neo4j GDS 库中路径搜索算法实现
网络·数据库·算法·云原生·中间件·neo4j·图数据库
XY.散人5 小时前
初识Redis · list和hash类型
数据库·redis·哈希算法