psycopg2.ProgrammingError:尝试copy_from红移时出现“stdin”错误或出现“stdin”错误时出现语法错误

问题描述:

我在尝试复制到AWS Redshift时遇到此问题。 这是我试图运行代码:psycopg2.ProgrammingError:尝试copy_from红移时出现“stdin”错误或出现“stdin”错误时出现语法错误

with open('path/to/files, 'rb') as fo: 
    cursor.copy_from(fo, 'schema.table', sep=',') 
    cursor.commit() 

我遇到的错误:

psycopg2.ProgrammingError: syntax error at or near "stdin" 
LINE 1: ...Y schema.table FROM stdin WITH... 

我正在运行的Python 3.5 psycopg2。 希望你们能帮助! Thx提前!

AWS Redshift不是PostgreSQL,尽管它支持PostgreSQL语法和功能的一个子集。它不具有COPY ... FROM STDIN

请参阅the manual了解如何在Redshift上使用COPY

+0

谢谢你的帮助! – Larry

+0

@CraigRinger我理解你的观点,看看如何从命令行或数据库工具(DBeaver等)使用COPY,但是如何从python脚本中复制表格。你会建议什么模块和语法? –

+0

您可能不得不使用多插入,或者从那里生成要上传到s3和“COPY”的数据。 *耸肩*。我不使用Redshift。也许你应该发布一个新的问题并且链接回这个问题? –