PostgreSQL序列的创建与管理

PostgreSQL序列的创建与管理

(1) 创建序列

1) 方法一:声明字段类型为序列整型来定义标识符字段。

CREATE TABLE crms01
(
id serial,
name text
);

insert into crms01(name) values ('crm01');

select * from crms01;

2) 方法二:创建序列,并通过nextval('sequence_name )函数指定为某一字段的默认值。

  • 创建序列
    • ache它的用处是缓存指定个数的序列值。
    • 比如你设置的cache是20,那么在获取nextval时,数据库会直接从cache中取下一个序列值,如果cache中缓存的序列值没有了(比如 cache中的序列值用完了,或者被手工清空了),那么数据库会再次产生20个序列值,并放置cache中供使用,这样有助于提高序列值的获取速度。
    • 指定为某一字段的默认值,使该字段具有唯一标识属性。
  • 创建序列
CREATE SEQUENCE crm_seq01 cache 100;
CREATE TABLE crms02
(
id int not null default nextval('crm_seq01'),
name text
);

insert into crms02(name) values ('crm-test');

select * from crms02;

(2) 修改序列

  • 将序列和一个表的指定字段进行关联,在删除那个字段或其所在表,会自动删除已关联的序列。
ALTER SEQUENCE crm_seq01 OWNED BY crms02.id;

(3) 修改序列值

ALTER SEQUENCE crm_seq01 cache 100000;

(4) 查询序列

\ds

SELECT * FROM pg_sequences;

(5) 删除序列

drop SEQUENCE crm_seq01;

drop SEQUENCE crm_seq01 cascade;   -- 删除有关联的序列

  • 20
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

の正在缓存99%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值