获取带有节点后置的函数的返回类型 OID



使用 node-postgres 查询 Postgres 数据库时,成功的查询将返回具有 oid 属性的pg.Result类型。

查询集合返回函数时,oid null

有没有办法在从函数中进行选择时获取返回类型的oid

Result.oid 属性与返回类型无关。

在 Postgres 12 之前,您可以使用 CREATE TABLE ... WITH OIDS 在表中包含自动分配的oid列。

在单行INSERT到表WITH OIDS的特殊情况下,服务器的CommandComplete响应包含新行的oid。对于所有其他INSERToid为零,对于所有其他命令,响应不包含oid

node-postgres源显示 Result.oid 属性派生自此响应。对于SELECT响应,永远不会分配oid,因此无论您要查询什么,都将null。此值(以及一般的 OID 列(的用处有限,这可能解释了为什么 oid 属性未被记录。

返回类型与结果的相关联,而不是与整个结果相关联。您可以使用例如以下命令获取列的 OID 类型:

result.fields[0].dataTypeId

最新更新