当前位置: 首页 > 工具软件 > psql2csv > 使用案例 >

linux执行csv文件格式错误,关于linux:psql错误:无法打开文件“ address.csv”进行读取:没有这样的文件或目录...

杜嘉木
2023-12-01

Linux的新手。

我正在尝试将.csv复制到PostgreSQL数据库中,

copy address from 'address.csv' delimiter ',' csv header;

我在psql提示符下使用 cd [目录]命令来cd到文件的位置。 操作失败。

我已经关闭了该终端窗口,并在另一个终端窗口cd中找到了数据文件夹,然后从那里打开了psql命令。

\! pwd显示文件存储文件夹的名称/路径。

/home/tommy/virtualenv_folder/code_data/postgresql_csv_files

\! ls会显示文件名,即使使用通配符\! add*也会显示文件名。

stackoverflow.com/questions/16618299/postgres-copy-from-csv-file-no-such-file-or-directory

建议重置search_path。 肯定没有必要在数据文件夹中。 还是?

无论如何,任何指针,将不胜感激。

您应该在copy语句中使用实际路径,例如,

copy address FROM '/home/tommy/virtualenv_folder/code_data/postgresql_csv_files/address.csv'.

还要确保postgres用户对该文件和目录具有读取权限,或者将所有权更改为postgres,即chown postgres:postgres address.csv。 我倾向于创建一个目录并授予所有用户对该目录的读/写访问权限,因此我可以轻松地将数据加载到postgres中,然后以我本人或postgres用户的身份再次将其转储回去,例如,

chmod a+rw /var/import/postgresfiles

search_path与通过数据库内部而不是外部文件系统中的架构进行postgres搜索有关。

 类似资料: