Insert v PostgreSQL 7.1.3

Karel Zak zakkr na zf.jcu.cz
Středa Únor 6 11:09:58 CET 2002


On Wed, Feb 06, 2002 at 10:56:24AM +0100, Ing. Pavel PaJaSoft Janousek wrote:
> Karel Zak wrote:
> >  BTW, je vhodne si taktez uvedomit, ze sequence jsou mimo transakce.
> 
> 	Ufff, cozeeeee? Nejaky duvod? BTW jak se tedy mimo transakcne pracuje

test=# BEGIN;
BEGIN
test=# SELECT nextval('xxx_id_seq');
 nextval
---------
      16
(1 row)

test=# ROLLBACK;
ROLLBACK
test=# SELECT nextval('xxx_id_seq');
 nextval
---------
      17
(1 row)
 

> se sekvencema, kdyz budu mit 100 konkurentnich inzertu do treba i
> RUZNYCH tabulek, pokud budu pouzivat jednu sekvenci? (Coz neni chyba)

 Normalne :-)

 Kazdy backend si allokuje jedno cislo (nebo vice zalezi na nastaveni 
 CACHE v CREATE SEQUENCE). Pokud nema zadne cislo "zamluvene" tak se 
 podiva do sequence na last_value zvetsiho a zapamatuje si to sve cislo
 pro dalsi pouziti (napr. v currval).

 O tu sequenci se pochopitelne ty konkurentni backendy stridaji.
 
    Karel

-- 
 Karel Zak  <zakkr na zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/
 
 C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz


Další informace o konferenci Databases