2012-08-13 52 views

回答

6

内置于PostgreSQL中的COPY command完全符合您的要求。当通过psql\copy变体中使用时,它非常有用。

检查您的特定Pg版本的文档,因为COPY选项不同。将来请在发布时提及您的Pg版本。假设你在9.1,然后从psql凑客户端可以使用:

\copy target_table from 'the_file.csv' with (format csv) 

和其他可能的选项,记录在上面的链接,根据您的CSV方言的细节。

请注意,\copy命令将而不是工作从PgAdmin-III或其他客户;它特定于psql。常规COPY可以从任何客户端运行,但要求该文件可以通过数据库服务器postgres进程访问,因此它不太方便。

如果工作量巨​​大或更复杂,您还可以使用pg_bulkload或ETL工具,如Talend和Pentaho。

+0

如果该文件是几个演出〜120列pg_bulkload是正确的方法吗?抱歉,延迟回应! – user1397044 2012-09-20 21:56:27

+0

@ user1397044很难说。如果时间不重要,我可能会从服务器的本地文件中使用服务器端的“COPY”。 – 2012-09-20 22:58:18

相关问题