本镜像为PostgreSQL数据库提供一系列实用工具的OCI(开放容器倡议)标准镜像,集成了PostgreSQL官方及社区常用的数据库管理工具,旨在简化PostgreSQL数据库的日常运维工作,包括备份、恢复、数据迁移、性能监控等任务。镜像遵循OCI标准,可无缝集成到Docker、Kubernetes等容器化环境中。
pg_dump(单库备份)、pg_dumpall(全库备份)、pg_basebackup(基础备份,支持时间点恢复)pg_restore(恢复pg_dump生成的备份文件)、psql(执行SQL脚本恢复文本格式备份)pg_dump与pg_restore实现不同PostgreSQL实例间的数据迁移,支持自定义迁移策略(如仅迁移数据、结构等)pg_stat_statements(需配合数据库配置启用,分析SQL执行统计信息)、pg_top(实时监控数据库活动)psql(PostgreSQL官方交互式客户端,支持执行SQL命令、数据库管理操作)、pg_isready(检查数据库连接状态)psql工具临时连接PostgreSQL数据库,执行查询或管理操作,无需在本地安装PostgreSQL客户端bashdocker run [选项] postgres-utilities:latest [工具名称] [工具参数]
1. 使用psql连接PostgreSQL数据库
bashdocker run --rm -it \ -e PGHOST=<数据库主机IP或域名> \ -e PGPORT=<数据库端口,默认5432> \ -e PGUSER=<数据库用户名> \ -e PGPASSWORD=<数据库用户密码> \ -e PGDATABASE=<数据库名称> \ postgres-utilities:latest \ psql -c "SELECT version();"
说明:
--rm:容器退出后自动删除;-it:交互式终端;通过环境变量传递数据库连接信息(或直接在psql参数中指定,如psql -h <host> -p <port> -U <user> -d <dbname>)
2. 使用pg_dump备份数据库
bash# 备份为自定义格式(支持压缩、选择性恢复) docker run --rm -v $(pwd):/backup \ postgres-utilities:latest \ pg_dump -h <db-host> -p <db-port> -U <db-user> -d <db-name> \ -F c -f /backup/db_backup_$(date +%Y%m%d).dump -Z 6
参数说明:
-v $(pwd):/backup:挂载本地目录到容器内/backup,用于保存备份文件;
-F c:自定义格式备份(推荐,支持压缩和灵活恢复);
-f /backup/...:备份文件路径(容器内路径,对应本地挂载目录);
-Z 6:压缩级别(1-9,越高压缩率越好但耗时越长)
3. 使用pg_restore从备份文件恢复数据库
bashdocker run --rm -v $(pwd):/backup \ postgres-utilities:latest \ pg_restore -h <目标db-host> -p <目标db-port> -U <目标db-user> -d <目标db-name> \ /backup/db_backup_20240101.dump
4. 使用pg_dumpall备份所有数据库
bashdocker run --rm -v $(pwd):/backup \ postgres-utilities:latest \ pg_dumpall -h <db-host> -p <db-port> -U <db-user> \ -f /backup/full_backup_$(date +%Y%m%d).sql
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
PGHOST | 目标PostgreSQL数据库主机 | localhost |
PGPORT | 目标PostgreSQL数据库端口 | 5432 |
PGUSER | 数据库连接用户名 | postgres |
PGPASSWORD | 数据库连接密码 | 无(建议通过环境变量传递或使用.pgpass文件) |
PGDATABASE | 默认连接的数据库名 | postgres |
pg_dump需SELECT权限,pg_dumpall需超级用户权限)--network参数指定Docker网络)-v挂载本地目录或持久化卷(Volume)保存备份文件,避免容器删除后文件丢失:14对应PostgreSQL 14工具集),避免因工具版本与数据库版本不兼容导致问题您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务