在Docker环境中使用命令行工具对PostgreSQL数据库进行备份和恢复。首先,通过dockerexec进入容器,使用pg_dump进行数据库模式的备份,然后使用dockercp将备份文件导出。接着,若需导入数据到另一数据库,先将备份文件复制到目标容器,再利用psql命令进行数据恢复。整个过程需确保目标数据库无同名模式,以防止导入失败
Docker 安装
备份数据库xx模式下的数据
1.1 进入容器
docker exec -u root -it 容器名/容器ID /bin/bash
1.2 执行备份命令
pg_dump -U <用户名> -d <数据库名称> -n <模式名称> > /dump备份文件目录/mymodule_backup.sql
请注意,备份可能需要一段时间,具体取决于数据库的大小和服务器的性能。备份完成后,建议测试备份是否可用,以确保可以恢复所需的数据。
1.3 从docker容器种导出文件
docker cp 容器id或名称:/xxx(容器内的目录文件) /xxx(容器外的目录文件)
将备份的数据导入到另一个 PostgreSQL 数据库中
2.1 从容器外部复制文件到容器内部
docker cp /xxx(容器外部目录文件) 容器id或名称:/xxx(容器内部目录文件)
2.2 导入数据命令
psql -U <username> -d <database_name> -f <dump_file.sql>