MagicStack / MagicStack/asyncpg

greenplum->copy_records_to_table support needed

未关闭
#333 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Python
星标
8.1k
派生
468
PR 合并指标
30 天内没有已合并 PR

描述

  • asyncpg version:0.17.0
  • Greenplum version:5.7
  • Python version:3.7
  • Platform:Windows 10/windows 10 WSL
  • Do you use pgbouncer?:no
  • Did you install asyncpg with pip?:yes
  • If you built asyncpg locally, which version of Cython did you use?:n/a
  • Can the issue be reproduced under both asyncio and
    uvloop?
    :n/a

try to run copy_records_to_table against greenplum 5.7 which report error as:
File "D:\Anaconda3\envs\DataLightFire37\lib\site-packages\asyncpg\connection.py", line 848, in _copy_in_records
copy_stmt, None, None, records, intro_stmt, timeout)
File "asyncpg\protocol\protocol.pyx", line 504, in copy_in
asyncpg.exceptions.PostgresSyntaxError: syntax error at or near "("

Try to run those against PostgreSQL 9.2. It passed.
Also, execute and executemany work fine with Greenplum.

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先在 Greenplum 5.7 和 PostgreSQL 9.2 上复现 copy_records_to_table,然后检查报告失败的 connection.py 第 848 行和 protocol.pyx 第 504 行。比较生成的 COPY 语句,并验证在 Greenplum 上复制记录能够正常工作,同时不会导致 PostgreSQL 行为回归。

由索引模型根据 Issue 内容生成。

评估

技术栈
postgresql, python
领域
databases
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。