Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u2pqe-006czd-Uc for pgsql-bugs@arkaria.postgresql.org; Thu, 10 Apr 2025 11:13:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u2pqc-00AYwp-QY for pgsql-bugs@arkaria.postgresql.org; Thu, 10 Apr 2025 11:13:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u2pqc-00AYwh-IA for pgsql-bugs@lists.postgresql.org; Thu, 10 Apr 2025 11:13:30 +0000 Received: from lana.depesz.com ([88.198.49.178] helo=depesz.com) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1u2pqa-004VfL-2d for pgsql-bugs@lists.postgresql.org; Thu, 10 Apr 2025 11:13:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=depesz.com; s=20170201; h=In-Reply-To:Content-Type:MIME-Version:References:Reply-To: Message-ID:Subject:To:Sender:From:Date:Cc:Content-Transfer-Encoding: Content-ID:Content-Description; bh=89mid9JgBwqmFKpOnqtKiya6rtv3uCCQ/mchu7lnm84=; b=Ag6qI7vwFm0vqoOusa7fpDAx8i /5iw8JKuTaxUYAUwxhpQdpFZdF0mGGJiUj1g//lTKXb/9JeXF0qtPiMzFkoHPvmKyY8P/uaU2KD0d 91kjovVx/E4xmrLNxkDXJwFLYBEG/mSObcOdduuHCRl9wjpYTnnKmhCUKRXE/JS3pCa4=; Received: from depesz by depesz.com with local (Exim 4.96) (envelope-from ) id 1u2pqZ-002gWM-1D; Thu, 10 Apr 2025 13:13:27 +0200 Date: Thu, 10 Apr 2025 13:13:27 +0200 From: hubert depesz lubaczewski Sender: depesz@depesz.com To: gweatherby@uchc.edu, pgsql-bugs@lists.postgresql.org Subject: Re: BUG #18886: identity duplicate key Message-ID: Reply-To: depesz@depesz.com References: <18886-7a7ebc1b03f6ad9c@postgresql.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <18886-7a7ebc1b03f6ad9c@postgresql.org> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Apr 09, 2025 at 11:04:20PM +0000, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 18886 > Logged by: Gerard Weatherby > Email address: gweatherby@uchc.edu > PostgreSQL version: 17.2 > Operating system: Ubuntu 24 > Description: > > I observed this: > > registry=# SELECT last_value, is_called FROM performance.vm_load_id_seq; > last_value | is_called > ------------+----------- > 12935994 | t > (1 row) > > registry=# \d performance.vm_load > Table "performance.vm_load" > Column | Type | Collation | Nullable | > Default > -----------+--------------------------+-----------+----------+------------------------------ > id | integer | | not null | generated > always as identity > vm_id | integer | | not null | > load15 | double precision | | not null | > idle | double precision | | not null | > stat_time | timestamp with time zone | | not null | > Indexes: > "vm_load_pk" PRIMARY KEY, btree (id) > "vm_load_id_vm_id_stat_time_index" btree (id, vm_id, stat_time) > "vm_load_stat_time_index" btree (stat_time) > Foreign-key constraints: > "vm_load_virtual_machines_id_fk" FOREIGN KEY (vm_id) REFERENCES > performance.virtual_machines(id) ON UPDATE RESTRICT ON DELETE RESTRICT > > registry=# INSERT INTO performance.vm_load(vm_id,load15,idle,stat_time) > values(437,0.0,94.31128026560856,'2025-04-09T22:25:26.326639+00:00'::timestamptz) > ; > ERROR: duplicate key value violates unique constraint "vm_load_pk" > DETAIL: Key (id)=(1314208) already exists. > > Unable to figure out what was going on, I did this, and it seemed to fix the > issue: You must have inserted some rows specifying value for id column. In such case identity/sequence is not updated, so afterwards you will get duplicate errors, as sequence returns (as new/next) value that already exists in table. Solution: select setval('performance.vm_load_id_seq'::regclass, max(id) + 1 ) from performance.vm_load; and find whatever was doing these inserts, and fix it. Best regards, depesz