pgsql某一个库所有表导出前1000行,CSV格式

列出docker容器列表:
docker ps
进入到当前pgsql所在的容器:
docker exec -it $dockerID /bin/bash

切换用户:
su - postgres
将pgsql的skylarxx 库的所有表列出来:
./pgsql -p 15432 -d skylarxx -c "\d" >/tmp/skylarxx.txt
将文本里面的表名单独取出来:
awk -F "|" ‘{print $2}‘ /tmp/skylarxx.txt >/tmp/skylarxx2.txt
用for 循环 拼出SQL 语句:

#! /bin/bash
for i in $(cat /tmp/skylarxx2.txt)
do
psql -p 15432 -d skylar -c "copy(select * from $i limit 1000) to ‘/tmp/$i.csv‘ with csv ;"
done

相关推荐