我想不使用类型名称,而是使用类型的 OID 将值转换为类型。这可能吗?所以代替:
SELECT '{{a}}'::char[]
做
SELECT '{{a}}'::1002
(尽管上面会导致语法错误)
上下文:我正在用 Python 编写一个库来查询 PostgreSQL,其中包括从 PostgreSQL 类型到 Python 类型的转换,我想确保测试所有类型,并且检查列出的所有 OID 似乎是最简单的在https://github.com/postgres/postgres/blob/master/src/include/catalog/pg_type.dat
最佳答案
我不知道是否可以通过 oid 调用,但是 如果你有 postgresql 数据库,为什么不在你的 python 库中使用表 pg_type 呢? 我猜你想为 Postgresql 和 Python 类型之间的映射构建自动测试,这样你在检查之前可以从该表中查询有关 Postgresql 中内置类型的相关信息
select * from pg_type
您可以按类型类型(基本类型或其他)和类型类别(数字、数组等)进行过滤
附:希望这会有所帮助 =)
关于python - 通过 OID 转换为类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71884380/