Re: adjusting primary key

Поиск
Список
Период
Сортировка
От Rafal Pietrak
Тема Re: adjusting primary key
Дата
Msg-id 1160490782.4482.122.camel@zorro.isa-geek.com
обсуждение исходный текст
Ответ на Re: adjusting primary key  (Matthias.Pitzl@izb.de)
Список pgsql-general
Thenx a lot. That does it!!


-R

On Tue, 2006-10-10 at 16:23 +0200, Matthias.Pitzl@izb.de wrote:
> You have to create t2 as following:
> CREATE TABLE t2 (id int, grp int references t1(id) ON UPDATE CASCADE ON
> DELETE CASCADE, info text);
>
> Through the cascade commands Postgresql will check the t2 table on rows
> which have to be deleted or updated according to your changes in t1.
>
> For changing the existing table take a look at the ALTER TABLE commands.
>
> Greetings,
> Matthias
>
> > -----Original Message-----
> > From: pgsql-general-owner@postgresql.org
> > [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Rafal Pietrak
> > Sent: Tuesday, October 10, 2006 3:59 PM
> > To: pgsql-general@postgresql.org
> > Subject: [GENERAL] adjusting primary key
> >
> >
> > Hi All,
> >
> > I have two tables:
> > CREATE TABLE t1 (id int not null unique, info text);
> > CREATE TABLE t2 (id int, grp int references t1(id), info text);
> >
> > Now, at certain point (both tables populated with tousends of records,
> > and continuesly referenced by users), I need to adjust the value of an
> > ID field of table T1.
> >
> > How can I do that? On the life system?
> >
> > Obvious solution like:
> >     UPDATE t1 SET id=239840 where id=9489;
> > or in fact:
> >     UPDATE t1 SET id=id+10000 where id<1000;
> > wouldn't work, regretably.
> >
> > Naturally I need to have column t2(grp) adjusted accordingly
> > - within a
> > single transaction.
> >
> > Asking this, because currently I've learned, that I can adjust the
> > structure of my database (add/remove columns at will, reneme those,
> > etc.), but I'm really stuck with 'looking so simple' task.
> >
> > Today I dump the database and perl-edit whatever's necesary
> > and restore
> > the database. But that's not a solution for life system.
> >
> > Is there a way to get this done? life/on-line?
> > --
> > -R
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 1: if posting/reading through Usenet, please send an appropriate
> >        subscribe-nomail command to majordomo@postgresql.org
> > so that your
> >        message can get through to the mailing list cleanly
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>        choose an index scan if your joining column's datatypes do not
>        match
--
-R

В списке pgsql-general по дате отправления:

Предыдущее
От: "Joshua D. Drake"
Дата:
Сообщение: Re: [PERFORM] Postgre 8.0 Installation - Issues
Следующее
От: Bill Moran
Дата:
Сообщение: Re: [PERFORM] Postgre 8.0 Installation - Issues