这篇文章主要介绍“PostgreSQL的OID类型是什么”,在日常操作中,相信很多人在PostgreSQL的OID类型是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreSQL的OID类型是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

OID定义为无符号整型数字,PG内置了转换函数从regproc, regprocedure, regoper, regoperator, regclass, regtype, regrole, regnamespace, regconfig, and regdictionary这些类型转换为OID.

TODO

下面是一些例子:
查询某张表的属性

[local]:5432pg12@testdb=#SELECT*FROMpg_attributeWHEREattrelid=(SELECToidFROMpg_classWHERErelname='tbl')limit1;-[RECORD1]-+---------attrelid|32774attname|tableoidatttypid|26attstattarget|0attlen|4attnum|-6attndims|0attcacheoff|-1atttypmod|-1attbyval|tattstorage|pattalign|iattnotnull|tatthasdef|fatthasmissing|fattidentity|attgenerated|attisdropped|fattislocal|tattinhcount|0attcollation|0attacl|attoptions|attfdwoptions|attmissingval|Time:5.209ms-->[local]:5432pg12@testdb=#SELECT*FROMpg_attributewhereattrelid='tbl'::regclasslimit1;-[RECORD1]-+---------attrelid|32774attname|tableoidatttypid|26attstattarget|0attlen|4attnum|-6attndims|0attcacheoff|-1atttypmod|-1attbyval|tattstorage|pattalign|iattnotnull|tatthasdef|fatthasmissing|fattidentity|attgenerated|attisdropped|fattislocal|tattinhcount|0attcollation|0attacl|attoptions|attfdwoptions|attmissingval|Time:1.205ms

查询操作符+的相关信息

[local]:5432pg12@testdb=#select*frompg_operatorwhereoid='+(int,float)'::regoperator;ERROR:operatordoesnotexist:+(int,float)LINE1:select*frompg_operatorwhereoid='+(int,float)'::regopera...^Time:1.502ms[local]:5432pg12@testdb=#select*frompg_operatorwhereoid='+(float,float)'::regoperator;-[RECORD1]+---------oid|591oprname|+oprnamespace|11oprowner|10oprkind|boprcanmerge|foprcanhash|foprleft|701oprright|701oprresult|701oprcom|591oprnegate|0oprcode|float8ploprrest|-oprjoin|-Time:3.446ms

注意:操作符需指定参数.

到此,关于“PostgreSQL的OID类型是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!