成都网站建设设计

将想法与焦点和您一起共享

postgresql加的简单介绍

PostgreSQL如何添加数据库?

找到运行脚本的地方,文本复制进去,点运行,数据库就创建好了。

成都创新互联服务项目包括长春网站建设、长春网站制作、长春网页制作以及长春网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,长春网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到长春省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

如何向postgreSQL中添加bytea类型的大对象数据

向postgreSQL中添加bytea类型的大对象数据:

PostgreSQL的二进制数据类型为bytea,可最多保存2G的数据。在ADO、ODBC等接口,可通过带参数化的插入SQL语句上传二进制。

然而在某些接口、SQL语句无法进行参数绑定,或者某些语言没有二进制的类型,或者接口的不兼容等原因,常无法上传二进制数据。

碰到这种情况下,必须在客户端将二进制转化为一定规则的字符序列,然后插入语句时,来个显示转换cast('字符序列' as bytea).

二进制转化为字符序列的规则:

分析每个字节,当其ASCII值在0到31,127到255,或为39、92,请将这字节转化为3位的八进制字符串,前面加上2个反斜杠,如chr(39)表示为//047. 其他ascii值为可显示字符,不变,当然你也可全部转化为八进制,但这样整个字符串太长,浪费空间。

如二进制序列 chr(0)+'a'+'b'+chr(233)+chr(25)+'c'转化为字符序列为:

//000ab//351//031c

上传的时候再来个显示转换,如 insert into table1 (aa) values (cast('//000ab//351//031c' as bytea))

如果二进制数据太大,可分次上传,用||连接符连接起来,如:

insert into table1 (id,aa) values (1,cast('序列1' as bytea))

update table1 set aa=aa||cast('序列2' as bytea) where id=1

PostgreSQL中使用UUID

UUID(Universal Unique Identifier)或者 GUID(Globally Unique Identifier)是一个 128 比特的数字,可以用于唯一标识每个网络对象或资源。由于它的生成机制,一个 UUID 可以保证几乎不会与其他 UUID 重复,因此常常用于生成数据库中的主键值。

1.pgcrypto 模块提供的 uuid

PostgreSQL 提供了一个用于加/解密的扩展模块 pgcrypto,其中的 gen_random_uuid() 函数可以用于返回一个 version 4 的随机 UUID。

2.uuid-ossp 模块提供的 uuid

uuid-ossp模块提供函数使用几种标准算法之一产生通用唯一标识符(UUID)。还提供产生某些特殊 UUID 常量的函数。

1.将当前目录转移到 PostgreSQL 源代码目录下的 contrib;如:

2.执行如下命令来安装扩展模块

如果要安装 uuid-ossp 模块,需要在执行安装扩展模块之前,执行 configure 并添加 --with-uuid=xxx,xxx取值为:

然后再执行安装扩展模块的命令。

3.检查是否安装,在 PostgreSQL 的安装目录下的 /share/extension 目录下,查看是否有模块相关的文件。如:

注: gen_random_uuid() 从 PostgreSQL 13 开始成为了一个内置函数

如果您所使用的PostgreSQL版本在13以上,则不需要执行如下语句:

生成uuid:

如果想要生成没有中划线(-)的 UUID 字符串,可以使用 REPLACE 函数:

查看包含的函数:

执行如下命令生成 uuid:


网页名称:postgresql加的简单介绍
转载来于:http://chengdu.cdxwcx.cn/article/dscgjde.html