Last active
June 2, 2023 14:27
-
-
Save slavamokerov/7f98be752297856109d322d2916f9ee4 to your computer and use it in GitHub Desktop.
Creating sequence in an existing table. PostgreSQL
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
/* | |
objects_id_object_seq - sequence name | |
objects - table name | |
id_object - ID field name | |
seq - standard postfix | |
Doc for setval() and nextval(): https://www.postgresql.org/docs/current/functions-sequence.html | |
*/ | |
CREATE SEQUENCE IF NOT EXISTS objects_id_object_seq; -- IF NOT EXISTS is works only in Postgres 9.5+ | |
SELECT setval( | |
'objects_id_object_seq', | |
(SELECT max(id_object) FROM objects) | |
); | |
ALTER TABLE objects ALTER COLUMN id_object SET DEFAULT nextval('objects_id_object_seq'); |
Nice, Very Good
Is there a reason for the increment in the maximum value of id_object
? Wouldn't SELECT setval('objects_id_object_seq', (SELECT max(id_object) FROM objects));
do the same thing while being simpler and omitting the false
value?
You're right, there's no reason. Fixed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks. Simple, automatic and effective.