PostgreSQL码农集散地

宇宙最强数据库镜像更新

文章开始前推荐2个学习环境: 

1、欢迎使用镜像快速体验PostgreSQL/DuckDB强大功能:《最好的PostgreSQL学习镜像》

2、欢迎使用云起实验室: 《免费体验PolarDB开源数据库》

3、PolarDB开源数据库内核、应用等学习图谱:  https://www.aliyun.com/database/openpolardb/activity 

宇宙最强数据库镜像更新

1、新增

1.1、HaloDB, 杭州易景科技发布的羲和数据库. 兼容PostgreSQL(协议级兼容), MySQL(协议级兼容), Oracle的数据库. 感谢章老哥提供二进制包和试用许可. su - halo 进入halo用户即可使用. 更多请参考halo的官方文档.

1.2、pg4ml, 使用 plpgsql 接口编写的学习框架. 

1.3、超融合计算插件 pg_analytics. 详见文档: 《PostgreSQL zero-ETL 超融合计算 插件 pg_analytics》

2、升级

2.1、pgvector 升级到 0.6.0, 支持并行创建hnsw向量索引, 一个索引创建要几个小时的问题终于解决了.

3、Fix

3.1、duckdb_fdw, 解决动态连接库undefined符号错误.

目前“宇宙最强镜像”已集成220个经典插件. 涵盖 类型增强、函数增强、近似统计分析、标签圈选、存储引擎、分析加强、多值列索引扩展加速、多模型业务场景、空间业务场景、向量搜索、文本场景增强、数据融合, 冷热分离、扩展协议, 兼容其他产品、存储过程和函数语言增强、安全增强、数据库管理、审计、性能优化、数据库迁移、同步等、连接池和读写分离、嵌入式OLAP数据库、PostgreSQL发行版、MySQL系列发行版等.

更多信息请参考: https://github.com/digoal/blog/blob/master/202307/20230710_03.md

4、镜像使用方法

4.1、x86_64版本docker image:

# 拉取镜像, 第一次拉取一次即可. 或者需要的时候执行, 将更新到最新镜像版本.    
docker pull registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts

# 启动容器
docker run --platform linux/amd64 -d -it -P \
--cap-add=SYS_PTRACE --cap-add SYS_ADMIN \
--privileged=true --name pg --shm-size=1g \
registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts

##### 如果你想学习备份恢复、修改参数等需要重启数据库实例的case, 换个启动参数, 使用参数--entrypoint将容器根进程换成bash更好. 如下:
docker run -d -it -P --cap-add=SYS_PTRACE \
--cap-add SYS_ADMIN --privileged=true --name pg \
--shm-size=1g --entrypoint /bin/bash \
registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts
##### 以上启动方式需要进入容器后手工启动数据库实例: su - postgres; pg_ctl start;

# 进入容器
docker exec -ti pg bash

# 连接数据库
psql

4.2、ARM64版本docker image:

# 拉取镜像, 第一次拉取一次即可. 或者需要的时候执行, 将更新到最新镜像版本.    
docker pull registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64

# 启动容器
docker run -d -it -P --cap-add=SYS_PTRACE \
--cap-add SYS_ADMIN --privileged=true --name pg \
--shm-size=1g \
registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64

##### 如果你想学习备份恢复、修改参数等需要重启数据库实例的case, 换个启动参数, 使用参数--entrypoint将容器根进程换成bash更好. 如下:
docker run -d -it -P --cap-add=SYS_PTRACE \
--cap-add SYS_ADMIN --privileged=true --name pg \
--shm-size=1g --entrypoint /bin/bash \
registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64
##### 以上启动方式需要进入容器后手工启动数据库实例: su - postgres; pg_ctl start;

# 进入容器
docker exec -ti pg bash

# 连接数据库
psql

欢迎关注我的github (https://github.com/digoal/blog) , 学习数据库不迷路.  

近期正在写公开课材料, 未来将通过视频号推出, 欢迎关注视频号:

Image

文章中的参考文档请点击阅读原文获得.