This is probably crazy talk, but in Postgresql is there any way to have a "keyed" sequence? That is, I have a table with a list of departments. While *relatively* static, technically speaking this is a dynamic list - someone certainly could decide to add a department, or combine two departments into one new one, whatever. In any case, I would ideally like to have a sequence per department, but since the list is dynamic it's not as simple as creating 33 independent sequences and then having a lookup table somewhere, although I guess I could implement something of the sort with triggers.
Is there any elegant way of accomplishing this? Something like SELECT nextval('department_seq['ops'])?
Maybe this will help you: http://instagram-engineering.tumblr.com/post/10853187575/sharding-ids-at-instagram
Then you can do:
"id" bigint NOT NULL DEFAULT insta5.next_id(),
--
Andreas Joseph Krogh
CTO / Partner - Visena AS
Mobile: +47 909 56 963