【需求】
导出数据,并按规定行数分割成小文件
【解决】
导出数据用copy命令(非root用copy命令),分割数据用split命令即可
1、导出postgres中的数据,在psql命令行中通过copy导出数据:
使用psql登录,示例:psql -h IP地址 -U 用户名 -d 数据库名
COPY (select ... LIMIT 100000000) TO '目标地址.csv' with csv;
表示导出select的输出到文件 目标地址.csv中,注意目标地址.csv的权限
2、分割成小数据:#split -l 5000000 目标地址.csv -d -a 3 phones_
表示分割 目标地址.csv 大文件,按500万行,并以phones_开头,顺序拼接3个数字,比如phones_001
#ls |xargs -i -t mv ./{} ./{}.csv
表示批量增加.csv后缀名