返回首页

gbase数据、南大通用产品文档:GBase8aTABLESPACE_NAMES

更新日期:2024年09月11日

功能说明
记录tablespace 的名称、路径等相关信息。
表结构说明
表5- 266 表结构信息说明:




TABLESPACE_NAME
表空间名
TABLESPACE_PATH
表空间路径
IS_DEFAULT
是否是默认表空间

| number

"foo"
| string

true
| boolean

null
| null

[1, 2, 3]
| array

{"x":"foo", "y":123} | object

|

(7 rows)

json_build_array( [VARIADIC “any”] )
描述:从一个可变参数列表构造出一个JSON 数组。
返回类型:array-json
示例:

gbase=# select json_build_array('a',1,'b',1.2,'c',true,'d',null,'e',json
'{"x": 3, "y": [1,2,3]}','');

json_build_array

---------------------------------------------------------------------------

["a", 1, "b", 1.2, "c", true, "d", null, "e", {"x": 3, "y": [1,2,3]}, ""]

(1 row)

json_build_object( [VARIADIC “any”] )
描述:从一个可变参数列表构造出一个JSON 对象,其入参必须为偶数个,两两一组组
成键值对。注意键不可为null。
返回类型:object-json
示例:

gbase=# select json_build_object(1,2);

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
286

json_build_object

-------------------

{"1" : 2}

(1 row)

json_to_record(object-json, bool)
描述:正如所有返回record 的函数一样,调用者必须用一个AS 子句显式地定义记录
的结构。会将object-json 的键值对进行拆分重组,把键当做列名,去匹配填充as 显示指定
的记录的结构。
返回类型:record
示例:
gbase=# select * from json_to_record('{"a":1,"b":"foo","c":"bar"}',true) as
x(a int, b text, d text);
a |
b
| d
---+-----+---
1 | foo |
(1 row)

json_to_recordset(array-json, bool)
描述:参考函数json_to_record,对数组内个每个元素,执行上述函数的操作,因此这
要求数组内的每个元素都得是object-json。
返回类型:setof record
示例:
gbase=# select * from json_to_recordset(

gbase(# '[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]',

gbase(# false

gbase(# ) as x(a int, b text, c boolean);

a |
b
| c

---+-----+---

1 | foo |

2 | bar | t

(2 rows)

json_object(text[])、json_object(text[], text[])

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
287
描述:从一个文本数组构造一个object-json。这是个重载函数,当入参为一个文本数组
的时候,其数组长度必须为偶数,成员被当做交替出现的键/值对。两个文本数组的时候,
第一个数组认为是键,第二个认为是值,两个数组长度必须相等。键不可为null。
返回类型:object-json
示例:
gbase=# select json_object('{a,1,b,2,3,NULL,"d e f","a b c"}');
json_object
-------------------------------------------------------
{"a" : "1", "b" : "2", "3" : null, "d e f" : "a b c"}
(1 row)
gbase=# select json_object('{a,b,"a b c"}', '{a,1,1}');

json_object

---------------------------------------

{"a" : "a", "b" : "1", "a b c" : "1"}

(1 row)

json_agg(any)
描述:将值聚集为json 数组。
返回类型:array-json
示例:
gbase=# create table classes (name varchar, score int8);
CREATE TABLE
gbase=# insert into classes values('A',2),('A',3),('D',5),('D',NULL);
INSERT 0 5
gbase=# select * from classes;

name | score

-----+-------

A
|
2

A
|
3

D
|
5

D
|


(4 rows)

gbase=# select name, json_agg(score) score from classes group by name order
by name;

name |
score

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
288

-----+-----------------

A
| [2, 3]

D
| [5, null]

(2 rows)

json_object_agg(any, any)
描述:将值聚集为json 对象。
返回类型:object-json
示例:
​gbase=# select * from classes;

name | score

-----+-------

A
|
2

A
|
3

D
|
5

D
|

(4 rows)

gbase=# select json_object_agg(name, score) from classes group by name order
by name;

json_object_agg

-------------------------

{ "A" : 2, "A" : 3 }

{ "D" : 5, "D" : null }

(2 rows)

jsonb_contained(jsonb, jsonb)
描述:同操作符`<@`, 判断$1 中的所有元素是否在$2 的顶层存在。
返回类型:bool
示例:

gbase=# select jsonb_contained('[1,2,3]', '[1,2,3,4]');

jsonb_contained

-----------------

t

(1 row)

jsonb_contains(jsonb, jsonb)

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
289
描述:同操作符`@>`, 判断$1 中的顶层所有元素是否包含在$2 的所有元素。
返回类型:bool
示例:

gbase=# select jsonb_contains('[1,2,3,4]', '[1,2,3]');

jsonb_contains

----------------

t

(1 row)

jsonb_exists(jsonb, text)
描述:同操作符`?`, 字符串$2 是否存在$1 的顶层以key\elem\scalar 的形式存在。
返回类型:bool
示例:

gbase=# select jsonb_exists('["1",2,3]', '1');

jsonb_exists

--------------

t

(1 row)

jsonb_exists_all(jsonb, text[])
描述:同操作符`?&`, 字符串数组$2 里面,是否所有的元素,都在$1 的顶层以
key\elem\scalar 的形式存在。
返回类型:bool
示例:

gbase=# select jsonb_exists_all('["1","2",3]', '{1, 2}');

jsonb_exists_all

------------------

t

(1 row)

jsonb_exists_any(jsonb, text[])
描述:同操作符`?|`, 字符串数组$2 里面,是否存在的元素,在$1 的顶层以

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
290
key\elem\scalar 的形式存在。
返回类型:bool
示例:

gbase=# select jsonb_exists_any('["1","2",3]', '{1, 2, 4}');

jsonb_exists_any

------------------

t

(1 row)

jsonb_cmp(jsonb, jsonb)
描述:比较大小,正数代表大于,负数代表小于,0 表示相等。
返回类型:integer
示例:
gbase=# select jsonb_cmp('["a", "b"]', '{"a":1, "b":2}');
jsonb_cmp
-----------
-1
(1 row)

jsonb_eq(jsonb, jsonb)
描述:同操作符`=`, 比较两个值的大小。
返回类型:bool
示例:

gbase=# select jsonb_eq('["a", "b"]', '{"a":1, "b":2}');

jsonb_eq

----------

f

(1 row)

jsonb_ne(jsonb, jsonb)
描述:同操作符`<>`, 比较两个值的大小。
返回类型:bool

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
291
示例:

gbase=# select jsonb_ne('["a", "b"]', '{"a":1, "b":2}');

jsonb_ne

----------

t

(1 row)

jsonb_gt(jsonb, jsonb)
描述:同操作符`>`, 比较两个值的大小。
返回类型:bool
示例:

gbase=# select jsonb_gt('["a", "b"]', '{"a":1, "b":2}');

jsonb_gt

----------

f

(1 row)

jsonb_ge(jsonb, jsonb)
描述:同操作符`>=`, 比较两个值的大小。
返回类型:bool
示例:

gbase=# select jsonb_ge('["a", "b"]', '{"a":1, "b":2}');

jsonb_ge

----------

f

(1 row)

jsonb_lt(jsonb, jsonb)
描述:同操作符`<`, 比较两个值的大小。
返回类型:bool
示例:

gbase=# select jsonb_lt('["a", "b"]', '{"a":1, "b":2}');

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
292

jsonb_lt

----------

t

(1 row)

jsonb_le(jsonb, jsonb)
描述:同操作符`<=`, 比较两个值的大小。
返回类型:bool
示例:

gbase=# select jsonb_le('["a", "b"]', '{"a":1, "b":2}');

jsonb_le

----------

t

(1 row)

to_json(anyelement)
描述:把参数转换为`json`。
返回类型:json
示例:

gbase=# select to_json('{1,5}'::text[]);

to_json

-----------

["1","5"]

(1 row)

jsonb_hash(jsonb)
描述:对jsonb 进行hash 运算。
返回类型:integer
示例:
gbase=# select jsonb_hash('[1,2,3]');
jsonb_hash
------------
-559968547

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
293
(1 row)
其他函数
描述:gin 索引以及json\jsonb 聚集函数所用到的内部函数,功能不过多赘述。
gin_compare_jsonb、gin_consistent_jsonb、gin_consistent_jsonb_hash、gin_extract_jsonb、
gin_extract_jsonb_hash

gin_extract_jsonb_query

gin_extract_jsonb_query_hash

gin_triconsistent_jsonb、gin_triconsistent_jsonb_hash、json_agg_transfn、json_agg_finalfn、​
json_object_agg_transfn、json_object_agg_finalfn 等。

Center 中心日志文件的位置........................ 181