一、问题
postgres安装在docker镜像中,我需要迁移某张表到新的数据库中
二、解决方法
1. ssh登录对应服务器
2. 使用docker ps 查看镜像列表,
3. 进入到postgres镜像中
docker exec -it <name> / <id> /bin/bash
如果没有权限使用如下命令
docker exec -u -root -it <name>/<id> /bin/bash
4. 执行如下命令
pg_dump -U postgres -Fc -t <table> <database> > data_ts_kv.dump
5. 将镜像中的dump文件复制到本机
docker cp 4e6c5992a18a:/test.dump /tmp/test.dump
6. 登录到新的服务,恢复dump文件
pg_restore -U postgres -d data_center -t data_ts_kv data_ts_kv.dump
注意: dump文件中存在表结构,但是不存在约束,需要手动创建约束