本文主要是介绍Postgresql 9.5多表批量导入导出表数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这几天工作中遇到了一个问题,当我需要将Postgresql中表数据出成CSV格式的时候就需要用到PSQL这个命令行界面(不能复制粘贴)来执行\copy指令来做导入导出。那么问题来了,单个表的导入导出是没有问题的,批量怎么办呢,当表的数量不多时,可以一个个去导,但是当表的数据达到一定级数就费时费力了。
以下个人想到的三种方法
方法一(费事费力,pass):使用高级语言(java、Python等)通过数据库驱动,自定义批量脚本。
此方法主要思路:通过高级语言编写批量处理过程,调用数据库的\copy方法,批量执行指令,达到机器取代人工的目的。
方法二(每次表变动需要对脚本进行调整):使用操作系统提供的环境写脚本调用(shell指令等)。
此方法主要思路:通过写脚本调用postgresql客户端连接上数据库,执行\copy指令导入导出。
方法三:官方提供的指令。
此方法主要思路:通过postgresql自带的指令来进行批量导入导出。
最终本人使用的是方法二和方法三的综合方法,由于postgresql没有自带的批量导入导出成CSV的指令,但是有一个调用执行文件的指令(\i),这个指令可以执行编写的脚本。例如
一个a.txt文件,里面内容是
#将xxx表数据导出xxx文件
\copy xxx to xxx
需要在客户端的指令界面执行以下指令
\i 路径\a.txt
就可以进行批量导出操作。
这篇关于Postgresql 9.5多表批量导入导出表数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!