Created
March 2, 2020 18:36
-
-
Save AAugustine/65383450076ab3105bf9b6d93ec04223 to your computer and use it in GitHub Desktop.
PSQL seq_id out of sync
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- Login to psql and run the following | |
| -- What is the result? | |
| SELECT MAX(id) FROM your_table; | |
| -- Then run... | |
| -- This should be higher than the last result. | |
| SELECT nextval('your_table_id_seq'); | |
| -- If it's not higher... run this set the sequence last to your highest id. | |
| -- (wise to run a quick pg_dump first...) | |
| BEGIN; | |
| -- protect against concurrent inserts while you update the counter | |
| LOCK TABLE your_table IN EXCLUSIVE MODE; | |
| -- Update the sequence | |
| SELECT setval('your_table_id_seq', COALESCE((SELECT MAX(id)+1 FROM your_table), 1), false); | |
| COMMIT; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment