Re: [Q] Cluster design for geographically separated dbs - Mailing list pgsql-general

From V S P
Subject Re: [Q] Cluster design for geographically separated dbs
Date
Msg-id 1236538877.13039.1304281837@webmail.messagingengine.com
Whole thread Raw
In response to Re: [Q] Cluster design for geographically separated dbs  (Scott Marlowe <scott.marlowe@gmail.com>)
Responses Re: [Q] Cluster design for geographically separated dbs  (Scott Marlowe <scott.marlowe@gmail.com>)
List pgsql-general
Thank you,
Is there a way, in the same  idea,
to make postgresql 'skip' say every 100 numbers when generating
a 'next' in bigserial?
(or to insure that every number generated is evenly divisible by 100,
and then another db would be 99 and so on)

In oracle, if I remember right, there was something called a 'Step'
for the sequence values.



Vlad



On Sun, 08 Mar 2009 01:13 -0700, "Scott Marlowe"
<scott.marlowe@gmail.com> wrote:
> On Sat, Mar 7, 2009 at 2:03 PM, V S P <toreason@fastmail.fm> wrote:
>
> > And wanted to ask what would be the main challenges I am facing with --
> > from the experience of the users on this list.
> >
> > Especially I am not sure how to for example manage 'overlapping unique
> > IDs' data.
>
> I'm not expert on a lot of what you're doing, but the standard trick
> here is to partition your bigserials.
>
> The max value for the underlying sequence is 9223372036854775807 which
> should give you plenty of space to work in.  So, When creating your
> bigserials, you can then alter the sequence underneath them to use a
> different range on each machine.
>
> smarlowe=# create table a1 (id bigserial, info text);
> NOTICE:  CREATE TABLE will create implicit sequence "a1_id_seq" for
> serial column "a1.id"
> smarlowe=# create table a2 (id bigserial, info text);
> NOTICE:  CREATE TABLE will create implicit sequence "a2_id_seq" for
> serial column "a2.id"
> smarlowe=# alter sequence a1_id_seq minvalue  maxvalue 19999999999
> start 10000000000;
> ALTER SEQUENCE
> smarlowe=# alter sequence a2_id_seq minvalue 20000000000 maxvalue
> 29999999999 start 20000000000;
> ALTER SEQUENCE
>
> Now those two sequences can't run into each other, and if you move a
> record from one machine to another it won't bump into what's already
> there.  Partitioning by 10billion gives you 922337203 possible
> partitions, so if you need bigger but fewer partitions there's plenty
> of wiggle room to play with.
--
  V S P
  toreason@fastmail.fm

--
http://www.fastmail.fm - IMAP accessible web-mail


pgsql-general by date:

Previous
From: Mark Mandel
Date:
Subject: Re: Random Deadlock on DROP CONSTRAINT
Next
From: Scott Marlowe
Date:
Subject: Re: [Q] Cluster design for geographically separated dbs