psql导出查询输出到新sqlite3 db中的新表

时间:2017-11-22 03:19:14

标签: sql postgresql sqlite

使用ORDER BY我们可以将查询输出导出到csv文件。

psql

但是我需要将查询输出导出到新的sqlite3数据库中的新表。

我也看了psql -d somedb -h localhost -U postgres -p 5432 -c "\COPY (select * from sometable ) TO 'sometable.csv' DELIMITER ',' CSV HEADER;" ,但还没有找到它的方法。

我想将它作为新表导出到新sqlite3数据库而不进行任何中间CSV转换的原因是因为

  1. 查询输出将运行到GB,我有磁盘空间限制 - 所以而不是csv导出然后创建一个新的sqlite3数据库,需要一次性获取

1 个答案:

答案 0 :(得分:0)

我的解决方案是使用标准的INSERT SQL语句。

需要相同的表格方案。 grep命令会删除有问题的字符,例如--或空白行。

pg_dump --data-only --inserts --table=sometable DBNAME | grep -v -e '^SET' -e '^$' -e '^--' | sqlite3 ./target.db

我希望这会对你有所帮助。