Posted By: Koles (...) on 'CZdatabases' Title: Re: auto_increment v Postgresql Date: Sat Oct 30 18:51:20 1999 Nekdy muze prehnana snaha o omezovani quotingu zpusobovat ujmu na srozumitelnosti, pro jistotu doplnim body A) a B) z puvodniho PaJaSoftova prispevku: > > > a) pouzit klasicke sekvence, tedy create sequence, create table... > > > (...., int a default nextval ('seq'));... > > > b) pouzit typ serial > > > Zpusob A) je z hlediska DDL cisty, zpusob B) je specialita PgSQL a > > > jinych, > > > pri prenosu mohou nastat potize... > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Neni pravda, serial v PgSQL je pouze "makro", ktere vygeneruje > > korektni sekvenci. Tj. pri dumpu ti vyjede korektni definice > > pomoci sekvence a nikoli serial. > > A co ma pg_dump spolecneho s DDL pripadne s typem serial? To, ze > pg_dump detekuje tuto vec takto je o necem jinem... pg_dump je utilitka, po niz pravdepodobne sahnes, pokud se budes snazit databazi prevest odnekud nekam jinam. Jak jiste vis, funguje tak, ze ti vypise nejjednodussi posloupnost SQL prikazu nutne k zaneseni aktualnich dat do ciste databaze. Dovoluji si proto tvrdit, ze potize pri prenosu (v puvodnim "> > >" textu podtrzeno) ve vetsine pripadu (tj. vzdy pri pouziti prikazu pg_dump) nenastanou. > je to stejne jako bys > tvrdil, ze > primary key je pouze makro... - samysli se nad tim, co rikas... Zamyslim se nad tim, co jsem napsal, jako bonus pridavam zamysleni nad tim, co pises ty, a zjistuji, ze 1, primary key neni pouze makro, protoze vytvari primarni klic. 2, "datovy typ" serial je makro, ponevadz nevytvari zadny datovy typ "serial", ale klasickou sekvenci (presne tak, jak v bodu a) puvodniho prispevku navrhujes. O tom je mozne se presvedcit jakymikoli trivialnimi prostredky (d v psql, pripadne pg_dump). > PS: Vem si primary key, pripadne foreignkey definici v tabulce a pak si dej > dump... chces rici, ze je to ekvivalent? Huh? Ekvivalent ceho? Vubec ti nerozumim. Podstatne je, ze "serial" neni datovy typ, ale pouze postgresove makro, ktere vytvari zcela standardni a prenositelne sekvence. Pavel