Windows下PostgreSQL导出/导入csv文件

看到群里有人问这个问题,自己没做过,总觉得在psql下用命令来导入导出很费劲而且会有编码的若干问题,自己之前做也是用kettle来实现。不过毕竟没做过,也试试看,到底是个什么情况。

1.参考资料

(1)postgresql数据库导入和导出CSV格式 http://blog.chinaunix.net/uid-7270462-id-3478360.html,精英的博客,以后留意着点

(2)PostgreSQL: 如何处理导出的数据中文显示乱码问题? http://francs3.blog.163.com/blog/static/4057672720120694224195/

2.个人实践

(1)数据库表导出到csv文件

1)进入psql:

2)先看看编码用的是什么:

show client_encoding;
由于我之前设置过,设成了GBK,所以不用修改,如果不是GBK,而表里又有中文字段,那么请先修改编码:

set client_encoding=’GBK’;
注:语句的末尾的分号“;”不能丢,丢了就不执行了也不报错。

3)执行命令copy tb_test_poi to ‘D://li1.csv’ with csv header;

Windows下PostgreSQL导出/导入csv文件

Windows下PostgreSQL导出/导入csv文件

4)如果有编码问题,再想办法解决吧(包括修改环境变量等,或者另寻它法)

(2)从csv文件导入数据库表

1)先要确保数据库里有对应的表,所以先执行建表sql脚本,我把原本的geo的类型从geometry改为character varying(3000),不然会出错的

Windows下PostgreSQL导出/导入csv文件

2)执行命令 copy tb_test_poi2 from ‘D://li1.csv’ with csv header;

执行完成显示记录数,说明就ok了
Windows下PostgreSQL导出/导入csv文件

3)pgAdmin里查询下结果看看
Windows下PostgreSQL导出/导入csv文件

3.总结

问题到此就都解决了,主要是学习了命令copy to和copy from的用法;

没遇到编码的问题,因为我之前就解决过了;

 

参考: http://blog.sina.com.cn/s/blog_673c98be0101gz6r.html

未经允许不得转载:窗外天空 » Windows下PostgreSQL导出/导入csv文件

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址