Postgresql 使用Postgres“;“复制”;命令将表格内容加载到CSV文件中

Postgresql 使用Postgres“;“复制”;命令将表格内容加载到CSV文件中,postgresql,copy,talend,Postgresql,Copy,Talend,我必须将一些postgres表内容复制到CSV文件中,以便使用Talend进行进一步处理 当我试着 copy table_name to ‘/tmp/export/table_name.csv’ with CSV; 对于'tpostgresqlRow'组件,它抛出了一个错误,称为“需要超级用户访问”,这是我得不到的 作为替代,我尝试使用“\copy”命令作为 \\copy table_name to ‘/tmp/export/table_name.csv’ with CSV;" (第一条斜线

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

当我试着

copy table_name to ‘/tmp/export/table_name.csv’ with CSV;
对于'tpostgresqlRow'组件,它抛出了一个错误,称为“需要超级用户访问”,这是我得不到的

作为替代,我尝试使用“\copy”命令作为

\\copy table_name to ‘/tmp/export/table_name.csv’ with CSV;"
(第一条斜线用于转义另一条)。但它仍然抛出错误,说“语法错误在'\'

我也试过使用tpostgresqlBulkExec组件,它在内部使用“copy”命令,它也抛出了错误,说“需要超级用户访问”

是否有办法使用Talend批量执行此postgres“copy”命令


任何帮助都将不胜感激。

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

我认为您的问题是因为您没有访问本地文件夹的权限。您需要对其进行排序,或者尝试您知道有权访问的其他文件夹

对于同一用户,如果您尝试linux命令

touch /tmp/export/test.csv 
您可能会看到一个错误


\copy命令将失败,因为要使用该命令,首先需要使用名为psql的工具

copy命令需要访问postgres表和本地文件系统

我认为您的问题是因为您没有访问本地文件夹的权限。您需要对其进行排序,或者尝试您知道有权访问的其他文件夹

对于同一用户,如果您尝试linux命令

touch /tmp/export/test.csv 
您可能会看到一个错误


\copy命令将失败,因为要使用该命令,首先需要使用名为psql的工具

我从Talend支持团队得到确认,tPostgresqlRow组件将不支持“复制”命令。我通过安装PSQL客户端并在Talend中使用tSSH组件调用PSQL客户端来执行所需的“复制”命令,从而解决了我的问题。

我从Talend支持团队得到确认,tPostgresqlRow组件将不支持“复制”命令。我通过安装PSQL客户端并在Talend中使用tSSH组件调用该客户端来执行所需的“复制”命令,从而解决了我的问题。

谢谢您的回答。但是,我可以触摸/tmp/export/test.csv。文件系统得到了保护。因此,无论我在哪里运行Talend作业,都需要在云或远程引擎上安装psql,并使用TSSystem通过命令行调用\copy命令?谢谢您的回答。但是,我可以触摸/tmp/export/test.csv。文件系统得到了保护。因此,psql需要安装在云或远程引擎上,无论我在哪里运行我的Talend作业,并使用TSSystem通过命令行调用\copy命令?请提供有关如何完成此操作的详细信息并提供链接。我是Talend的新手,不知道您安装了什么PSQL客户端、tSSH以及安装在哪里?请详细说明您是如何安装的,并提供一个链接。我是Talend的新手,不知道您安装了什么PSQL客户端、tSSH以及安装在哪里?