当使用node-postgres查询Postgres数据库时,成功的查询将返回具有oid属性的pg.Result类型。
查询集合返回函数时,oid为null。
从函数中选择时,有没有办法获得返回类型的oid?
发布于 2019-11-22 05:28:04
Result.oid属性与返回类型无关。
在Postgres12之前,您可以使用CREATE TABLE ... WITH OIDS在表中包含一个自动分配的oid列。
在表WITH OIDS的单行INSERT的特殊情况下,服务器的CommandComplete response包含新行的oid。对于所有其他INSERT,oid为零,而对于所有其他命令,响应不包含oid。
node-postgres source显示Result.oid属性派生自此响应。对于SELECT响应,oid永远不会被赋值,因此无论您查询什么,它都将是null。此值(以及一般的OID列)的用处有限,这可能解释了为什么oid属性为undocumented。
返回类型与结果的列相关联,而不是与整个结果相关联。您可以使用以下命令获取列的类型OID:
result.fields[0].dataTypeIdhttps://stackoverflow.com/questions/58982841
复制相似问题