docker使用pgloader导入csv

# 拉取镜像
docker pull dimitri/pgloader:latest
# 查看pgloader版本
docker run --rm --name docker_pgloader dimitri/pgloader:latest pgloader --version

# 显示pgloader命令帮助文档
docker run --rm --name docker_pgloader dimitri/pgloader:latest pgloader --help

使用docker版本的pgloader导入csv文件示例:

docker run --rm --name docker_pgloader -v /root/Documents/csv/mtnoh:/home -v /root/Documents/csv/mtnoh/log:/home/log dimitri/pgloader:latest pgloader --type csv --field "site_planning_id,superior_site_planning_id" -L "/home/log/pl_cover_point_1.log" --with "skip header = 1" --with "batch rows=10000" --with "fields terminated by ','" /home/pl_cover_point_1.csv postgres://postgres:[email protected]:35432/npas?tablename=npas.pl_cover_point

其中,关键点

1.需要指定挂载卷目录,以便将本地的文件挂载到容器中的卷中执行,上面例子是挂载到/home路径下;

# 挂载csv文件路径
-v /root/Documents/csv/mtnoh:/home

# 挂载导入日志文件路径
-v /root/Documents/csv/mtnoh/log:/home/log

2.docker版本的pgloader也只是命令行工具,所以一但执行完毕则会自动退出,故每次都需要 “docker run --rm --name docker_pgloader dimitri/pgloader:latest pgloader + 具体操作” 执行命令

3.实践证明:--field 不是必须的,也就是说不是必须指定字段名,缺省指定表的所有字段,省下字段指定的功夫!

参考资料:

https://hub.docker.com/r/dimitri/pgloader

猜你喜欢

转载自blog.csdn.net/londa/article/details/108186366
今日推荐