【问题标题】:postgresql csv file importpostgresql csv文件导入
【发布时间】:2016-02-08 21:49:00
【问题描述】:

当我尝试将 csv 文件加载到 postgresql 中时。我使用以下命令。

CREATE TABLE population(
    country char(80),
    year integer,
    population integer
);

COPY population FROM '/Users/chittampalliyashaswini/Desktop/population.csv'
           DELIMITER ',' CSV HEADER;

然后我得到以下错误。

错误:无法打开文件“/Users/chittampalliyashaswini/Desktop/population.csv”进行阅读:权限被拒绝

【问题讨论】:

  • 没有读取文件的权限。该错误似乎不言自明。
  • 错误很直接。 postgres 用户无权访问您尝试读取的文件。你还需要知道什么?
  • 使用 psql 和 \Copy 代替
  • 国家年人口阿富汗1995年17586073阿尔及利亚1995年29315463安哥拉1995年12104952阿根廷1995年34833168阿塞拜疆1995年7770806孟加拉国1995年119869585名白俄罗斯1995年10189075贝宁1995年5985658玻利维亚(多民族国)1995年1995年7635362博茨瓦纳1583453巴西1995年161890816布基纳法索FASO 1995 10089876 Burundi 1995 6209923柬埔寨1995年10769198 Cameroon 1995年1995年3275695 Chad 1995 3275695 Chile 1995 6980351中国1995年11951440103中国1995年114440103刚果1995 36573895刚果1995 36573895刚果1995 2720633 span>
  • 这是我尝试导入的文件示例。

标签: postgresql csv


【解决方案1】:

消息很清楚,正在运行的用户 postgresql 没有读取文件的权限。 您可以将其移动到 /tmp 和/或修复路径上的权限。我通常切换到 postgres 用户并运行 less 来检查。

如果是一次性的,我建议您只需将其移至 /tmp/ 并使用该路径。

【讨论】:

  • 其实,从路径来看,我猜你可能在 MacOS 上?还是一些类似 MacOS 的发行版?
  • 我正在使用 MacOS X Yosemite
  • 我不明白如何将它移动到 /tmp。我以前从未这样做过。
  • 而且我什至没有 tmp 文件夹。
  • 现在我将它移动到文档文件夹并运行相同的命令,我得到了这个错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
  • 2018-09-25
  • 2014-10-07
  • 1970-01-01
相关资源
最近更新 更多