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
。
谢谢你的帮助! – Larry
@CraigRinger我理解你的观点,看看如何从命令行或数据库工具(DBeaver等)使用COPY,但是如何从python脚本中复制表格。你会建议什么模块和语法? –
您可能不得不使用多插入,或者从那里生成要上传到s3和“COPY”的数据。 *耸肩*。我不使用Redshift。也许你应该发布一个新的问题并且链接回这个问题? –