psycopg3是psycopg2的分支版本,还是一个替代升级版本?

4
我看到关于psycopg2和psycopg3的参考资料,但没有明确的指导关于两者之间的过渡路线。我看到随着时间推移,关于psycopg2的SO问题数量很多。 psycopg3是否打算取代psycopg2?这个版本是否有显著的使用率?
是否会有一个长期存在的psycopg2版本?选择其中一个版本是否有什么令人信服的理由?

2
psycopg3是否打算取代psycopg2?据我所知,是的。这个版本是否有显著的使用率增长?据我所知,目前还没有。是否会有一个长期存在的psycopg2版本?他们没有说,但最近的发布是3-4天前,所以我打算继续使用它,除非我有一个令人信服的理由来切换,这是我的个人意见,供参考。 - undefined
1
@Woodford,说得好...已更新以澄清“3”代表分支还是版本。 - undefined
我的意思是,如果同样的人在开发它,那真的算是一个分支吗?看起来更像是两个不同的主要版本:一个处于维护模式,另一个正在积极开发中——就像很长一段时间里的Python 2和3一样。 - undefined
@ColonelThirtyTwo,这是个好问题。你知道psycopg3已经开发了多久吗?人们认为世界可能会成为psycopg3的主导地位是什么时候?我上次使用postgres是在2008年,所以你可以想象我对最新技术一窍不通! - undefined
2
一些作业会回答这些问题。1)psycopg3的第一页。2)psycopg(3)的区别 - undefined
显示剩余2条评论
1个回答

1
psycopg3文档中可以看到:
Psycopg 3是Python编程语言的新设计的PostgreSQL数据库适配器。 Psycopg 3为那些使用过Psycopg 2或其他DB-API 2.0数据库适配器的人提供了一个熟悉的接口,但同时允许使用更现代的PostgreSQL和Python功能,例如: - 异步支持 - 从Python对象进行COPY支持 - 重新设计的连接池 - 静态类型支持 - 服务器端参数绑定 - 准备好的语句 - 语句流水线 - 二进制通信 - 直接访问libpq功能
从一瞥之间,psycopg3似乎支持更现代的Python和PostgreSQL功能,如类型和异步。这很可能需要对psycopg2进行许多不兼容的更改,因此才有了新版本和分叉开发。

这真的很烦人。DB API规定了executemany(),而psycopg2早就承认了他们在这里的实现上的不足之处(https://www.psycopg.org/docs/extras.html#fast-execution-helpers)。你提供的文档中没有提到`executemany`。除非他们在这个重大问题上“忘记”了,这本应该是修改默认行为的时候,但他们……没有? - undefined
1
@roganjosh,我不确定你为什么对我回答中的一个随机的psycopg细节抱怨,但是psycopg3确实有executemany,而且它没有psycopg2的警告。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接