docker容器postgres数据导出命令及还原数据命令

本文介绍了如何在Docker环境下使用`dockerexec`进入Postgres容器,并使用`pg_dump`工具进行单表的备份。备份可以选择`COPY`模式或`INSERT`模式,备份文件可保存在Docker共享空间。此外,还详细说明了如何在容器内恢复这些备份文件。
摘要由CSDN通过智能技术生成

参考资料

docker控制postgers容器导入导出数据_docker 导出数据库_奔跑的痕迹的博客-CSDN博客

--进入容器

docker exec -it  容器名称或容器id  /bin/bash

以下命令是在进入容器执行的

--导出单张表的备份语句(copy模式

pg_dump -h 127.0.0.1 -U  数据库用户名 -p 端口号(默认是5432)  -d 数据库名称 -t 表名称  > /这个路径可以是docker设置的共享空间/表名称.sql

 示例:pg_dump -h 127.0.0.1 -U xxxUser -p 5432  -d databasename -t tablename  > /var/xxx/data/tablename.sql

这个路径可以是docker设置的共享空间可通过docker inspect 容器ID/容器名称查看

如图:Binds里面的设置  /var/xxxxx/data

--导出单张表的备份语句(insert语句模式比copy模式导出慢)

 示例:pg_dump -h 127.0.0.1 -U 数据库用户名 -p 端口号(默认是5432)  -w(W是无密码,小写w是输入密码) 数据库名称 -t 表名称  --inserts  >/这个路径可以是docker设置的共享空间/表名称.sql;

 pg_dump -h 127.0.0.1 -U xxxUser -p 5432  -w databasename -t tablename  --inserts  >/var/xxx/data/tablename.sql;

也可以通过这种方式把数据导出成csv文件

COPY (
  select a.* from 表名称 a 
) TO '/var/xxxx/data/new.csv' WITH CSV HEADER;   

--还原命令执行是在进入postgres数据库后执行

--还原这里是单张表的备份还原语句
 psql -U 用户名 -d 数据库名称 -f /备份文件存放地址/备份文件名称.sql;
 
 psql -U databaseUser -d databaseName -f /xxx/xxx.sql;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值