
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于官方PostgreSQL镜像构建,预集成了pg_partman和pg_cron两个扩展。pg_partman是PostgreSQL的表分区管理工具,支持自动创建和维护时间或数值分区;pg_cron是PostgreSQL的定时任务调度扩展,允许在数据库内部直接调度SQL任务。本镜像旨在为用户提供开箱即用的分区管理和定时任务能力,减少手动配置工作。
bashdocker run -d \ --name postgres-partman-cron \ -e POSTGRES_USER=myuser \ -e POSTGRES_PASSWORD=mypassword \ -e POSTGRES_DB=mydb \ -e CRON_DATABASE_NAME=mydb \ # 指定pg_cron任务存储的数据库 -p 5432:5432 \ [镜像名称]:[标签]
yamlversion: '3' services: postgres: image: [镜像名称]:[标签] container_name: postgres-partman-cron environment: POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword POSTGRES_DB: mydb CRON_DATABASE_NAME: mydb # 可选,默认使用POSTGRES_DB ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data volumes: postgres_data:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| POSTGRES_USER | 数据库超级用户 | postgres |
| POSTGRES_PASSWORD | 超级用户密码 | 无(建议必须设置) |
| POSTGRES_DB | 初始数据库名称 | POSTGRES_USER的值 |
| CRON_DATABASE_NAME | pg_cron任务存储的数据库 | POSTGRES_DB的值 |
容器启动后,可通过以下步骤验证扩展:
bashpsql -h localhost -U myuser -d mydb
sqlSELECT * FROM pg_extension WHERE extname = 'pg_partman';
sqlSELECT * FROM pg_extension WHERE extname = 'pg_cron';
创建分区表(pg_partman)
sql-- 创建父表 CREATE TABLE measurements ( id SERIAL, log_time TIMESTAMPTZ NOT NULL, value NUMERIC NOT NULL ); -- 使用pg_partman创建时间分区(按天) SELECT partman.create_parent( p_parent_table => 'public.measurements', p_control => 'log_time', p_type => 'time', p_interval => '1 day', p_premake => 3 -- 预创建3个未来分区 );
创建定时任务(pg_cron)
sql-- 每天凌晨2点清理30天前的分区数据 SELECT cron.schedule( 'clean_old_partitions', '0 2 * * *', $SELECT partman.drop_old_partitions('public.measurements', p_retention := '30 days')$ ); -- 查看所有定时任务 SELECT * FROM cron.job;
cron模式下,需确保该数据库存在您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务