↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 数据类型 / 位串

bit varying

变长位串

当前查看 PostgreSQL 18。

中文定义与说明

变长位串

同版本中文手册节选

位串是由 1 和 0 组成的字符串。它们可用于存储或展示位掩码。SQL 中有两种位类型:bit(n) 和 bit varying(n),其中 n 是正整数。

bit 类型的数据长度必须与 n 完全一致;试图存储更短或更长的位串都会报错。bit varying 数据则是长度上限为 n 的变长类型,更长的串会被拒绝。不带长度的 bit 等效于 bit(1),而不带长度说明的 bit varying 表示长度不受限。

关于位串常量的语法信息,请参见第 4.1.2.5 节。位逻辑操作符和字符串操作函数也可用;参见第 9.6 节。

一个位串值每 8 位需要 1 个字节,再加上 5 或 8 个字节的额外开销,具体取决于串的长度。(不过,长值可能会被压缩或移到行外存储,与第 8.3 节中对字符串的说明相同。)

查看完整中文手册与上下文。

PG10–20 核心源码清单。类型转换与操作符类列出源码显式声明的关系;缺少记录不能排除通过其他机制进行转换或使用索引。

定义

SQL 名称与别名: varbit, varbit [ ( n ) ]

变长位串

bit varying [ ( n ) ]
目录名称
pg_catalog.varbit
类型 OID
1562
类型种类
基础类型
声明长度
变长(varlena)
存储策略
扩展
输入函数
varbit_in
输出函数
varbit_out

系统目录属性

此构建的源码初始化值。字段含义参见 pg_type 。包含头文件默认值;依赖构建的常量保留符号形式,不作为服务器运行时实测。

oid
1562
descr
variable-length bit string
typacl
_null_
typlen
-1
typelem
0
typname
varbit
typsend
varbit_send
typtype
b
typalign
i
typarray
0
typbyval
f
typdelim
','
typinput
varbit_in
typmodin
varbittypmodin
typndims
0
typowner
POSTGRES
typrelid
0
typmodout
varbittypmodout
typoutput
varbit_out
typtypmod
-1
typanalyze
-
typdefault
_null_
typnotnull
f
typreceive
varbit_recv
typstorage
x
typbasetype
0
typcategory
V
typcollation
0
typisdefined
t
typnamespace
pg_catalog
typsubscript
-
typdefaultbin
_null_
array_type_oid
1563
typispreferred
t
array_type_name
_varbit

类型转换 3

与此类型相关的显式 pg_cast 记录。PostgreSQL 还支持 pg_cast 之外的类型转换,缺少记录不能证明转换不可能。

源类型目标类型转换上下文转换方式函数
bitvarbit隐式二进制兼容0
varbitbit隐式二进制兼容0
varbitvarbit隐式函数varbit

运算符重载 7

每种操作数签名均为独立重载。实现函数和返回类型来自同一源码构建。

运算符左操作数右操作数返回类型含义实现函数
||varbitvarbitvarbit连接。bitcat
=varbitvarbitbool等于。varbiteq
<>varbitvarbitbool不等于。varbitne
<varbitvarbitbool小于。varbitlt
>varbitvarbitbool大于。varbitgt
<=varbitvarbitbool小于或等于。varbitle
>=varbitvarbitbool大于或等于。varbitge

操作符类 2

声明输入类型与此类型相符的操作符类。多态操作符类、类型转换和表达式索引还可能提供其他索引路径;不能仅凭此表判断是否支持索引。

操作符类索引方法输入类型操作符族默认存储类型
varbit_opsbtreevarbitbtree/varbit_ops是与输入类型相同
varbit_minmax_opsbrinvarbitbrin/varbit_minmax_ops是varbit

版本比较

PostgreSQL 17 → 18。属性比较不包含构建标识和说明正文;原始目录字段与源描述保留原文。

这两个样本的系统目录和结构化属性没有变化。

文档与源码

构建
18.6 · https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

相关条目

全部数据类型 · 下载此版本 JSON · 最早收录的样本不代表该类型的实际引入版本。