【PostgreSQL数据库】

常用操作

  • 查询所有自增序列
    SELECT “c”.“relname” FROM “pg_class” “c” WHERE “c”.“relkind” = ‘S’;
  • pgSQL导表或者创建表的时候,检查是否存在自增字段序列,然后创建
    CREATE SEQUENCE IF NOT EXISTS tablename_id_seq;
  • 创建自增序列
    CREATE SEQUENCE tablename_id_seq
    CREATE SEQUENCE tablename_id_seq START 10;
  • 删除某个自增序列
    DROP SEQUENCE tablename_id_seq
  • 更新某个自增序列
    alter sequence tablename_id_seq restart with 100
  • 查询下一个序列
    select nextval('tablename_id_seq ');
  • 使用自增序列
    nextval(‘tablename_id_seq’::regclass)

遇到的错误

  • 运行sql脚本的时候数据和结构出现 relation “XXX_id_seq” does not exist
    在postgresql表中建立了自增字段,id定义为Serial 类型,当执行完成建表语句后,其字段便成:
    “id” int4 NOT NULL DEFAULT nextval(‘performance_id_seq’::regclass)
    这种形式,但是导出sql脚本时候直接定义成这种形式,postgresql不能识别,想必是postgresql的一个小bug吧,因此自增的id,在建表的时候应该定义为: “id” serial
    或者
    1.新建查询,执行 CREATE SEQUENCE IF NOT EXISTS XXXX_id_seq;
    2.alter sequence tablename_id_seq restart with 100 设置起始的自增数目,
    3.执行再次执行sql文件
  • 待补充

版权声明:参考了CSDN博主「手心守贝」的原创文章
原文链接:https://blog.csdn.net/qq_35771567/article/details/103616842

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

何以解忧唯有暴富丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值