赞
踩
参考资料
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;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。