我必须将一些 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/