首页 > 其他分享 >postgres 错误duplicate key value violates unique constraint 解决方案

postgres 错误duplicate key value violates unique constraint 解决方案

时间:2023-06-25 10:24:16浏览次数:35  
标签:postgres constraint value violates key unique 主键

报错信息:

django.db.utils.IntegrityError: duplicate key value violates unique constraint "parent_parentprofile_pkey"
DETAIL:  Key (id)=(3) already exists.

原因分析:

postgres主键排序是不同步

主要是:serial key其实是由sequence实现的,当你手动给serial列赋值的时候,sequence是不会自增量变化的。
最好不要给serial手工赋值

解决方式:

可能是自增主键和序列不一致导致的,所以也可以不用重置序列起始值和主键,采取把序列号改成和当前最大主键一致的方式

SELECT setval('表名_id_seq', (SELECT MAX(id) FROM 表名)+1)
1.
 
-----------------------------------
©著作权归作者所有:来自51CTO博客作者ch3nnn的原创作品,请联系作者获取转载授权,否则将追究法律责任
postgres 错误duplicate key value violates unique constraint 解决方案
https://blog.51cto.com/ch3nnn/5483443

标签:postgres,constraint,value,violates,key,unique,主键
From: https://www.cnblogs.com/clark1990/p/17502267.html

相关文章

  • C#-SQLHelper(四)_PostgreSQL
    SqlHelper工具类/***┌──────────────────────────────────────────────────────────────┐*│描述:PostgreSQL的操作工具类*│作者:执笔小白......
  • Postgresql Toast 原理
    Toast在存储大型数据时,会将它存储在单独的表中(称为toast表)。因为postgresql的tuple(行数据)是存在在Page中的,Page的大小默认为8KB。postgresql不允许tuple跨页存储,所以当一行数据的某个列数据过大时,比如text类型的数据,超过了单页的大小,那么postgresql会将它压缩,切......
  • 数据库内核:PostgreSQL 存储
    存储管理数据库管理系统的存储管理分级在数据库管理系统中存储管理的目的是:提供页或者元组集合的数据视图将数据库对象(例如表)映射到磁盘文件上管理数据与磁盘存储之间的传输使用缓冲区来减少磁盘/内存之间传输次数将加载的数据还原成为元组是使用访问方法......
  • 使用lightdb-em或Prometheus+grafana监控lightdb/PostgreSQL
    lightdb提供了一体化的运维监控平台lightdb-em,支持集中式的监控所有的lightdb实例以及postgresql,包括单机、高可用、分布式。其架构如下: lightdb-em功能:  详细的使用可以参考官方文档,运维指南。安装包可从lightdb官网下载。如果不想使用lightdb-em......
  • PostgreSQL BTree(B-Link-tree) 索引 基本 实现原理
    文章目录背景BTreeB+TreeB-Link-Tree基本数据结构的插入实现BTreeInsert实现B+TreeInsert实现PostgreSQLBTree实现整体结构BTree索引创建实现_bt_buildadd_bt_uppershutdownBTree查询_bt_search实现BTree插入_bt_doinsert实现_bt_split节点分裂_bt_insert_parentlef......
  • PostgreSQL 配置远程访问
    PostgreSQL安装完毕后需要设置客户端远程访问,具体步骤参考如下postgresql.conf找到配置文件目录[root@hadoop201pgsql]#locateostgresql.conf/usr/pgsql-15/share/postgresql.conf.sample/var/lib/pgsql/15/data/postgresql.conf打开文件进行编辑[root@hadoop201pgs......
  • postgresql中fork的含义
    pg_relation_size ( relation regclass [, fork text ])→ bigintComputesthediskspaceusedbyone “fork” ofthespecifiedrelation.(Notethatformostpurposesitismoreconvenienttousethehigher-levelfunctions pg_total_relation_size......
  • 在Linux环境下安装PostgreSQL
    在Linux环境下安装PostgreSQL由于实际的生产环境,PostgreSQL数据库都是部署在linux服务器上的,因此记录一下通过源码安装与命令行操作PG数据库的过程下载官方下载网址:https://www.postgresql.org/ftp/source/我这里下载的是PostgresSQL源码版本为:postgresql-13.3.tar.gz安装......
  • postgresql获取基于当前时间计算的当月第一天,最后一天,下个月的第n天等功能
    问题现象:​今天在项目开发中遇到了一个需求,在编写某个功能时,需要使用到基于某个时间(如当前时间),去获取本月第一天或下个月的第一天的数据.问题分析:通过查询资料可以得知,要实现这个需求并不容易,在sql语句中就能很好的获取到,这里我使用的是postgresql数据库,其他数......
  • postgresql数组数据
    一个包含数组的数据表插入数组有两种方法1:'{张三,李四,王五}'2:  array['张三','李四','王五']用单引号,不用双引号insertintopublic.hi6values('2023-9-22',array['张三','李四'],'{王五,孙六,黄七}','test4'); 查询嘉宾......