VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

REGNAMESPACE别名类型

功能描述

PostgreSQL在内部使用对象标识符(OID)作为各种系统表的主键。OID有多个别名类型,Vastbase支持regnamespace类型,该类型是OID在命名空间下的别名类型,它引用PG_NAMESPACE表,描述了命名空间的名称。

Vastbase支持to_regnamespace函数,可以根据模式名返回对应命名空间的OID,如果找不到则返回空。

注意事项

仅Vastbase G100 V2.2 Build 10(Patch No.12)及以后补丁版本支持此功能。

示例

1、创建测试表字段类型为regnamespace。

CREATE TABLE t_regnamespace_1141420(c1 number(38) generated by default as identity (start with 1 increment by 1), c2 oid,c3 regnamespace);

2、向表中插入数据。

INSERT INTO t_regnamespace_1141420 VALUES(1,11,'pg_catalog');
INSERT INTO t_regnamespace_1141420 VALUES(2,2200,regnamespace(2200));
INSERT INTO t_regnamespace_1141420 VALUES(3,to_regnamespace('public')::oid,regnamespace('public'));
INSERT INTO t_regnamespace_1141420 (c2,c3) SELECT oid,to_regnamespace(nspname) from pg_namespace;

3、查询表数据。

select * from t_regnamespace_1141420 where regnamespace(c3)::int4<15;

返回结果如下:

 c1 | c2 |     c3
----+----+------------
  1 | 11 | pg_catalog
 22 | 11 | pg_catalog
(2 rows)