Fixing sequence problems in PostgreSQL
21st April 2004
This one’s mainly for my own future reference. The following error message in PostgreSQL:
ERROR: Cannot insert a duplicate key into unique index auth_permissions_pkey
Is caused by a table with an automatically incremented primary key (set up using the SERIAL keywords in the table creation statement) getting out of sync somehow with the sequence that tracks the next available primary key. You can re-sync the sequence with the following query:
SELECT setval('auth_permissions_id_seq',
(SELECT max(id) FROM auth_permissions));
More recent articles
- Hello Python 3.15, goodbye 3.10, and now I can use 3.11 - 12th October 2026
- A new feature for my blog, built using my voice - 9th October 2026
- Claude Haiku 5.5 - 7th October 2026
- We're going to need default hard budget caps on pretty much everything - 3rd October 2026