从本地文件导入数据和从Internet导入数据到postgresql有什么区别?(铁路)



我创建了一个rake任务来导入一个。csv文件到我的postgresql数据库中。

在其中,下面的代码可以工作:

conn = PGconn.open(:dbname => 'mydbname')
conn.exec("COPY valuations FROM '/Users/Username/Downloads/avroll.csv' DELIMITER ',' CSV HEADER")

这行不通:

conn = PGconn.open(:dbname => 'mydbname')
conn.exec("COPY valuations FROM 'https://s3-us-west-2.amazonaws.com/mydirectory/myfile.csv' DELIMITER ',' CSV HEADER")

我已经确认该文件可以在我的浏览器中通过该URL下载。

为什么这对本地文件有效,而不是在给定URL的文件?我怎样才能改正呢?

COPY仅适用于本地文件。http://www.postgresql.org/docs/9.1/static/sql-copy.html

COPY moves data between PostgreSQL tables and standard file-system files.

您可以通过Ruby下载文件,然后将位置传递给COPY命令。

最新更新