关于Postgres的oid使用疑问解答.md

本文探讨了在Postgres中使用oid时遇到的问题,特别是关于oid别名(如xxxx::regxxxx)何时返回oid,何时返回oid对应的name。尽管官方文档未明确说明,作者在Stack Overflow上并未找到明确答案,但通过研究源码(src/backend/utils/adt/regproc.c),确定`regrolein`和`regroleout`函数决定了这种转换。文章指出,oid在psql命令行中会被转换为name,而在内部判断时不进行转换。
摘要由CSDN通过智能技术生成

原文链接:
我的github :https://github.com/TheFrancisHe/Postgresql/blob/master/%E5%85%B3%E4%BA%8EPostgres%E7%9A%84oid%E4%BD%BF%E7%94%A8%E7%96%91%E9%97%AE.md

  • 之前,我已经介绍了oid是什么,oid应该如何使用。
    但是在使用oid的过程中,我自己碰到一个问题:
//1.运行完如下语句后,'boolean'::regtype的值是 boolean。
postgres=# select 16::regtype ;
 regtype 
---------
 boolean
(1 row)

//2.于是我就推断:如果运行select 'boolean'::regtype应该返回的是16吧! (16是其对应的 oid 的值)
//于是运行如下语句:
postgres=# select 'bool
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值