postgres迁移某张表的数据

发布时间 2023-10-10 10:01:54作者: 夏日懒洋洋

一、问题

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文件中存在表结构,但是不存在约束,需要手动创建约束