2

一部の Postgres データ型からのクエリ結果は、 によってネイティブ型に変換され psycopg2ます。どちらもpgdb(PostgreSQL)、cx_Oracleこれを行うようです。

…したがって、文字列を期待するかなりの量のコードがあり、サポートを継続する必要があるため、 に切り替えようとする試みは困難であることがわかりましpgdbた。psycopg2cfficx_Oracle

ドキュメントではpsycopg2、変換のために追加の型を登録する方法が説明されていますが、実際には、可能であればその変換を削除し、Postgres が提供する文字列を取得したいと考えています。それは可能ですか?

4

1 に答える 1

3

すべての PostgreSQL 型 (または少なくともコード内で文字列を期待するすべての型) に対してプレーン文字列型キャスターを再登録できます: 既に登録されている OID に対して型キャスターを登録すると、新しい定義が優先されます。psycopg のソース コード (C と Python の両方) を見て、正しい OID を見つけてください。

型キャストを無効にする独自のバージョンの psycopg をコンパイルすることもできます。ソースコードは今ここにありませんが、おそらく数行の変更です。

于 2015-02-19T09:04:17.037 に答える