
tmaxopensql/postgresTmax OpenSQL是韩国领先DBMS公司TmaxTibero的开源DBMS专业服务平台品牌,基于其20年积累的自主技术,提供PostgreSQL一站式整体服务。OpenSQL-PostgreSQL镜像则是该平台下的Docker化部署方案,旨在简化PostgreSQL数据库的部署与管理,适用于对高可用性、可扩展性、大容量处理、备份恢复、安全性等有需求的业务场景。
TmaxTibero凭借24*365技术支持、7000+定制化数据库迁移咨询经验、152项专利技术及250人左右的研发团队,为该镜像提供了专业的技术背书。
该镜像支持以下标签,均基于redhat/ubi8构建:
bashdocker run -v [主机绝对路径]:[容器内绝对路径] \ --name [容器名称] \ hypersql/postgres:[标签名称]
将vars.yml文件或vars目录挂载到容器中,容器创建时会自动应用参数配置:
bash# 挂载单个vars.yml文件 docker run -v /绝对路径/to/var/file:/tmp/settings/vars/vars.yml # 挂载vars目录 docker run -v /绝对路径/to/vars/directory:/tmp/settings/vars
可配置参数涵盖autotuning、manage_dbserver、init_dbserver角色相关参数(详细参数参考pg-ansible项目各角色README:[***]
yamlpg_superuser: "super_username"
yamlpg_superuser_password: "xxxxx"
yamlpg_owner_id: 1000
yamlpg_group_id: 1000
yamlpg_data: "/pgdata"
yamlpg_log: "/pglog"
yamlpg_wal: "/pgwal"
yamlpg_databases: - name: "database_name" owner: "super_username"
yamlpg_postgres_conf_params: - name: "archive_command" value: "/bin/true"
yamlpg_max_connections: 50
镜像会根据容器隔离的资源自动调优参数,可通过以下方式限制容器资源:
bashdocker run --memory="300m"
指定CPU核心(例:仅使用0-2核心)
bashdocker run --cpuset-cpus="0-2"
设置CPU CFS配额和周期(周期默认***,即100ms)
bashdocker run --cpu-period=*** --cpu-quota=50000
设置CPU使用率百分比(例:使用50% CPU)
bashdocker run --cpus=".5"
直接挂载主机路径可能导致容器用户与主机用户权限冲突,且Docker卷存储在/var/lib/docker/volumes/路径下,便于管理。推荐使用Docker卷而非直接挂载路径。
bashdocker volume inspect <卷名称>
bash# 创建卷 docker volume create volume-1 # 使用卷运行容器 docker run -v volume-1:/path/want/to/mount
声明的卷可在其他容器中复用:
yaml# docker-compose.yml services: pg: image: hypersql/postgres:14.6 ports: - "5432:5432" volumes: - volume-1:/path/want/to/mount volumes: volume-1:
如需从旧版hypersql docker镜像迁移数据,需使用迁移镜像,指定旧环境参数:
bashdocker run -v /绝对路径/to/external/volume:/hypersql/pgdata/ \ -v /绝对路径/to/external/volume:/hypersql/pgwal/ \ -e POSTGRES_USER=${PG_USER} \ -e POSTGRES_PASSWORD=${PG_PASSWORD} \ -e POSTGRES_DB=${DB_NAME} \ -e POSTGRES_DATADIR=${DATADIR} \ hypersql/postgres:migration-14
迁移完成后,可使用新版镜像正常运行。
镜像基于以下规则自动调优PostgreSQL参数:
max_connections:vcpus*4(至少100)或pg_max_connections配置值shared_buffers:
work_mem:(总内存 - shared_buffers)/(pg_max_connections*16)maintenance_work_mem:不超过1024MB,(总内存 - shared_buffers)*15/100/autovacuum_max_workerseffective_cache_size:shared_buffers + (sys_buffers_kb + sys_cached_kb + sys_slab_reclaimable_kb)/1024wal_compression:"on"wal_log_hints:"on"wal_buffers:64MBcheckpoint_timeout:5mincheckpoint_completion_target:0.9cpu_tuple_cost:0.03autovacuum_max_workers:5autovacuum_vacuum_cost_limit:3000idle_in_transaction_session_timeout:10mindefault_statistics_target:100hash_mem_multiplier:2.0

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务