postgresql - 在 Talend 中使用 Postgres "copy"命令将表内容加载到 CSV 文件中

标签 postgresql copy talend

我必须将一些 postgres 表内容复制到 CSV 文件中,以便使用 Talend 进行进一步处理。

当我尝试过

copy table_name to ‘/tmp/export/table_name.csv’ with CSV;

使用“tpostgresqlRow”组件时,它会抛出错误提示“需要 super 用户访问权限”,我不会得到。

作为替代方案,我尝试将“\copy”命令作为

\\copy table_name to ‘/tmp/export/table_name.csv’ with CSV;"

(第一个斜杠用于转义另一个斜杠)。它仍然抛出错误提示“'\' 处的语法错误”。

我也尝试使用 tpostgresqlBulkExec 组件,它在内部使用“复制”命令,它也抛出错误提示“需要 super 用户访问权限”。

有没有办法使用 Talend 批量执行此 postgres“复制”命令?

如有任何帮助,我们将不胜感激。

最佳答案

复制命令需要访问 postgres 表和本地文件系统。

我认为你的问题是因为你没有访问本地文件夹的权限。您需要解决这个问题,或者尝试使用您知道可以访问的其他文件夹。

使用相同的用户,如果你尝试 linux 命令

touch /tmp/export/test.csv 

您可能会看到一个错误。

\copy 命令将失败,因为要使用它,您首先需要使用一个名为 psql 的工具。

关于postgresql - 在 Talend 中使用 Postgres "copy"命令将表内容加载到 CSV 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47014099/

相关文章:

java - Talend 中的 tSCPFileExists 组件是否存在问题

django - 如何为谷歌表单等字段设计数据库?

javascript - 如果 input2 为空,则从 input1 复制值?

cocoa - NSFileManager -copyItemAtPath :toPath:error: fails with read-only folder

java FileNotFoundException 打开的文件太多

mysql - 如何计算 Talend on Oracle 中连接的行数

java - 割链java

ruby-on-rails - 为什么列 trades.item_id 不存在?

postgresql - 使用带有自定义分隔符的 postgres 按字符大小复制文本文件

sql - Postgresql - 为每个 ID 返回 (N) 行