PostgreSQL中的hstore模块

作者:瀚高PG实验室 (Highgo PG Lab)

 

之前已经介绍过hstore模块的作用和操作符。这次我们继续了解此模块的其他内容。

hstore函数

这里我们列举一些hstore模块提供的函数。

函数

返回值

描述

例子

hstore(record)

hstore

从一个记录或行中创建hstore

见图1

hstore(text[])

hstore

从数组中创建hstore

hstore(text[], text[])

hstore

从不同的键值数组中创建hstore

hstore(text, text)

hstore

创建单一项目hstore

见图2

akeys(hstore)

text[]

取出hstore的键组成一个数组

skeys(hstore)

setof text

取出hstore的键组成一个集合

avals(hstore)

text[]

取出hstore的值组成一个数组

见图3

svals(hstore)

setof text

取出hstore的值组成一个集合

slice(hstore, text[])

hstore

提取一个hstore的一个子集

each(hstore)

setof(key text, value text)

取出hstore的键和值组成一个集合

见图4

exist(hstore,text)

boolean

hstore是否包含key

defined(hstore,text)

boolean

hstore是否包含key上非空值

delete(hstore,text)

hstore

删除key值匹配的一个键值对

见图5

delete(hstore,text[])

hstore

删除key值匹配的多个键值对

delete(hstore,hstore)

hstore

删除匹配第二个参数的键值对

我们以下图片来展示相关函数的操作结果:

图1

图2

图3

图4

图5

索引支持

hstore@>、?、?&和?|操作符提供GiSTGIN索引。

对于 = 操作符,hstore也支持btree或者哈希索引,这允许hstore列被声明为UNIQUE,或者被用于GROUP BY, ORDER BY,或者DISTINCT表达式中。hstore值的排序顺序不是特别有用,但是这些索引可能对等值查询来说很有用。

hstore类型由于其内在的自由度,可能会包含很多不同的键。而检查有效的键则是应用程序的任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值