PostgreSQL 中的 COPY 函数

2023-11-25

我想使用 PostgreSQL 中的 COPY 函数将 CSV 文件导入到 PostgreSQL 数据库中。

其中显示文件名的地方文档,CSV 文件是否必须存储在特定位置,还是可以存储在任何位置。

例如,copy data_table from '/tmp/outputdata.csv' WITH DELIMITER AS ',' CSV QUOTE AS '"';。哪里说的tmp,这是否意味着C:盘中的tmp文件夹。可以改成其他文件夹名吗?


看起来您对 Linux 与 Windows 文件路径表示法感到困惑。你所拥有的是一个锚定到 root 的 Linux 路径。 Windows 使用驱动器号,您也可以在 Windows 上运行时指定驱动器号。

如果您使用 Windows 表示法,请注意必须转义反斜杠如果你不使用standard_conforming_strings = on- 这是 Postgres 9.1 或更高版本中的默认值,但在旧版本中不是默认值。喜欢:

COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...

With standard_conforming_strings = on你可以简单地写:

COPY data_table from 'C:\tmp\outputdata.csv' WITH ...

请注意,PostgreSQL Windows 服务器还可以理解使用斜杠而不是反斜杠的默认路径表示法。

For SQL COPY FROM / TO您可以使用服务器所有者进程的任何路径(postgres默认情况下)有读/写权限。

For the \copypsql客户端的meta命令适用当前本地用户的权限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL 中的 COPY 函数 的相关文章

随机推荐