当前位置: 首页 > news >正文

深圳中国电信网站备案新注册网站

深圳中国电信网站备案,新注册网站,国外贸易网络平台有哪些,网上营销的方式文章目录一、基础说明1、简要介绍2、参数说明3、使用限制二、举例说明1、创建表插入数据2、查询获取Sequence3、修改自增序列的起始值4、更新操作会消耗一个序列值一、基础说明 1、简要介绍 实时数仓Hologres兼容Postgres生态,支持在建表时将字段的类型定义为Seri…

文章目录

  • 一、基础说明
    • 1、简要介绍
    • 2、参数说明
    • 3、使用限制
  • 二、举例说明
    • 1、创建表插入数据
    • 2、查询获取Sequence
    • 3、修改自增序列的起始值
    • 4、更新操作会消耗一个序列值

一、基础说明

1、简要介绍

实时数仓Hologres兼容Postgres生态,支持在建表时将字段的类型定义为Serial和Bigserial来定义自增的字段。 Serial表示INT4类型的自增字段,Bigserial表示INT8类型的自增字段。

2、参数说明

参数说明存储大小取值范围
SerialINT4类型的自增字段4字节-2147483648~2147483647
BigserialINT8类型的自增字段8字节-9223372036854775808~9223372036854775807

3、使用限制

1、Hologres不能指定Serial和Bigserial的额外参数,包括递增步长及初始值参数,递增步长为1,初始值默认设置为1。

2、Hologres暂不支持Smallserial类型的数据。

3、首次创建Serial和Bigserial类型的表,需要Superuser在当前DB创建。然后其余用户就能按照业务逻辑创建有关Serial和Bigserial类型的表。创建Serial和Bigserial类型的表是DB级别的,如果切换数据库,Superuser需要再次执行该操作。

4、在Flink或者数据集成写入场景,仅Flink的JDBC模式和数据集成insert into模式支持写入Serial和Bigserial类型,DataHub暂不支持写入。

5、对于基于主键的insert on conflict写入场景,Serial类型不会严格保证字段的连续性增长,如需严格保序,请手动设置Serial的起始值。

6、Serial写入会有额外锁的开销,不建议单条写入时增加Serial类型,对写入性能有降低,可以攒批写入。同时如果SQL符合Fixed Plan特征,可以开启如下GUC参数,使Serial字段可以走Fixed Plan实现更高的写入性能。

--数据库级别开启GUC, 支持含有Serial类型列的Fixed Plan写入 
alter database <user_db> set hg_experimental_enable_fixed_dispatcher_autofill_series=on; 

7、仅Hologres V0.10及以上版本支持修改Serial参数,且仅支持restart with参数的修改。

8、Serial写入会有额外全局锁的开销,对写入性能影响较大,在性能敏感场景谨慎使用。

二、举例说明

1、创建表插入数据

DROP TABLE IF EXISTS serial_table;CREATE TABLE serial_table (id bigint,row_id serial, -- nextval('serial_table_row_id_seq'::regclass)name TEXT ,PRIMARY KEY (id)
);INSERT INTO serial_table (id, name)VALUES (1, '张三')
RETURNINGid;INSERT INTO serial_table (id, name)VALUES (2, '李四')
RETURNINGid;SELECT * FROM serial_table;

2、查询获取Sequence

SELECTtable_name,column_name,column_default
FROMinformation_schema.columns
WHEREtable_schema = 'public'AND table_name = 'serial_table'AND column_name = 'row_id';

3、修改自增序列的起始值

alter sequence serial_table_row_id_seq restart with 100; -- 修改起始值
INSERT INTO serial_table (id,name) values(3,'李四') RETURNING id; --插入数据验证
SELECT * FROM serial_table ;--查询看结果

4、更新操作会消耗一个序列值

INSERT INTO serial_table (id, name)VALUES (2, '更新ID为2的数据')
ON CONFLICT (id)DO UPDATE SETname = excluded.name;

更新时同时更新序列字段就不会占用序列值了

INSERT INTO serial_table (id,row_id, name)VALUES (4,4, '更新ID为4的数据')
ON CONFLICT (id)DO UPDATE SETname = excluded.name, row_id=excluded.row_id;
http://www.dtcms.com/a/509391.html

相关文章:

  • 商业网站建设费用网站功能模块建设
  • 固原网站制作高端网站设计制作的
  • 从代码角度分析网站怎么做wordpress商
  • 自己动手建立网站3重庆手机网站推广方法
  • 目前网站软件设计制造中国第一架飞机的人是
  • O(1)时间复杂度实现有setAll功能的哈希表
  • 南昌网站做ppt模板免费的网站推荐
  • 做网站网站庄家北京软件开发公司排
  • 做网站销售门窗怎么做网站建设细化流程
  • 足球梦网站建设的基本思路重庆有几个区
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(4):文法運用
  • 专门做相声的网站百度手机助手app下载官网
  • 邯郸网站关键字优化专科千万别学数字媒体应用技术
  • 网络攻防技术:假消息攻击
  • 刷赞网站推广软件企业网站建设的申请
  • 沈阳工伤保险做实在哪个网站婚礼策划网站建设
  • 企业网站建站wordpress登陆页面
  • 介绍好的免费网站模板下载广州海珠网站开发方案
  • 东莞专业网站建设平台长沙手机网站建设哪些内容
  • 工程施工行业在哪个网站容易找事做宿迁房产网签备案查询系统
  • 网站开发时如何设计英文版本做进口产品的网站
  • mie-散射-远场
  • 中山制作网站的公司怎么做俄语网站
  • 北京手机网站设计建设银行网站未响应
  • 玉溪网站开发网站关键词密度怎么计算的
  • 网站开发工程师获奖北京市朝阳区网站制作公司
  • 河北中瑞建设集团有限公司网站西安专用网站建设
  • 网站开发所需要的知识营销网站 深圳
  • 视频图像应用平台
  • 做图在哪个网站上找英国做电商网站