From: | "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Umfang von OID's |
Date: | 2007-06-20 12:40:38 |
Message-ID: | 20070620124038.GB10728@a-kretschmer.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
am Wed, dem 20.06.2007, um 12:01:33 +0000 mailte Martin Spott folgendes:
> Moin,
> kann mir mal jemand etwas Sortierungshilfe geben ? ;-)
ich versuch es mal.
>
> Stimmt es, dass ich unabhaengig von der verwendeten Plattform
> (64-bittig vs. 32-bittig Solaris oder Linux) immer maximal 2^32 OID's
> "verbraten" kann ?
Ja. OID ist vom Typ int4.
>
> Wenn ich also Tabellen explizit mit OID's erzeuge und die dann auch als
> PRIMARY KEY verwende, dann stosse ich, abzueglich etwas
> Verwaltungs-Overhead, grob geschaetzt bei gut 4 Milliarden
> Tabellenzeilen an eine Grenze. Richtig ?
Ja.
Die Verwendung von OIDs als PK ist im übrigen eine schlechte Idee.
Stichwort: Backup/Restore und bereits verwendete OIDs.
>
> Wenn ich die Tabellen _nicht_ explizit mit OID's erzeuge, dann stosse
> ich ebenfalls an dieselbe Grenze, weil die Dinger ohnehin zur internen
> Organisation verwendet werden. Auch richtig ?
Nein. Per default werden sie nicht mehr angelegt, weil nicht benötigt.
Wenn Du mehr als 4 Mrd pro table brauchst, nimmst Du ein BIGSERIAL:
test=# create table bigtable (id bigserial);
NOTICE: CREATE TABLE will create implicit sequence "bigtable_id_seq" for serial column "bigtable.id"
CREATE TABLE
test=*# select max_value from bigtable_id_seq;
max_value
---------------------
9223372036854775807
(1 row)
Ich unterstelle einfach mal, das dies Dir reichen sollte.
>
> Hat mal jemand eine System eingerichtet und ist an diese Grenze
> gestossen ? Was passiert dann, kann ich dann keine neuen Zeilen mehr in
> 'ne Tabelle schreiben und der Rest laeuft froehlich weiter ?
Es passieren bösen Dinge, ja.:
- Deine Katze wird überfahren
- der Wellensittich fällt tot von der Stange
- die Frau geht fremd
- http://www.google.de/search?hl=de&q=postgresql+oid+wraparound&btnG=Suche&meta=
Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
From | Date | Subject | |
---|---|---|---|
Next Message | Martin Spott | 2007-06-20 21:35:24 | Re: Umfang von OID's |
Previous Message | Martin Spott | 2007-06-20 12:01:33 | Umfang von OID's |