ongres/postgres-util本镜像为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 [工具名称] [工具参数]
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>)
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,越高压缩率越好但耗时越长)
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
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工具集),避免因工具版本与数据库版本不兼容导致问题

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