查询以读取文件中的查询

时间:2010-10-02 13:07:22

标签: sql postgresql

我有巨大的创建表查询(100的Gb)我想通过ODBC发送到我的数据库(在这种情况下是Postgre)。问题是这些查询是从外部程序构建的,所以我想避免在内存中加载每个查询以通过ODBC将其发送到数据库。我更倾向于在(小)查询中向db指示直接执行那个巨大的查询。

使用psql可能很容易,但我想通过odbc来完成它。有可能吗?

1 个答案:

答案 0 :(得分:1)

如果你的意思是批量数据加载,PostgreSQL有COPY命令 - 它可以直接读取服务器上的数据文件,但不能处理常规的SQL查询 - 它可以用CSV或类似格式从文件加载数据(你可以自定义为COPY参数)。

如果你从头开始加载表,那么优化就是使用普通表(没有PK,FK,约束,索引),并在事务中与TRUNCATE表一起执行COPY,如:

BEGIN; TRUNCATE ....; COPY ......; COMMIT;