2

一些 Postgres 数据类型的查询结果通过 psycopg2. pgdb(PostgreSQL)都没有,cx_Oracle似乎也没有这样做。

......所以我尝试切换pgdb出来psycopg2cffi是困难的,因为有相当多的代码需要字符串,我需要继续支持cx_Oracle.

文档解释了psycopg2如何为转换注册其他类型,但我实际上想尽可能删除该转换并获取 Postgres 提供的字符串。那可行吗?

4

1 回答 1

3

您可以为每个 PostgreSQL 类型(或至少为您希望在代码中使用字符串的每种类型)重新注册一个普通字符串类型转换:当您为已注册的 OID 注册一个类型转换时,新定义优先。只需查看 psycopg 的源代码(C 和 Python)即可找到正确的 OID。

您还可以编译您自己的 psycopg 版本以禁用类型转换。我现在没有源代码,但可能只是几行更改。

于 2015-02-19T09:04:17.037 回答