Re: dropping sequences

Поиск
Список
Период
Сортировка
От scott.marlowe
Тема Re: dropping sequences
Дата
Msg-id Pine.LNX.4.33.0306191623100.8232-100000@css120.ihs.com
обсуждение исходный текст
Ответ на dropping sequences  (Erik Price <eprice@ptc.com>)
Ответы Re: dropping sequences  (Erik Price <eprice@ptc.com>)
Список pgsql-general
On Thu, 19 Jun 2003, Erik Price wrote:

> Hi,
>
> I have a database with a few tables in it (this is just a "learning"
> database).  Originally I set these tables up with sequences on them
> which increment the primary key of the table when a new record is
> inserted.  I would like to drop these sequences.
>
> 1. First I wanted to copy the database to a different database so that
> the original could remain untouched if a screw something up.  The way I
> did this was to use pg_dump on the original database and then load the
> export file into the new database.  Is there another (not necessarily
> better) way to do this, such as from within psql without dumping to the
> file system?  (Copying directly from one DB to another.)

If they are in the same cluster (i.e. running on the same machine under
the same postmaster) you can use this:

CREATE DATABASE newdb with template olddb;

> 2. Now I would like to drop the sequences, but I am told that I cannot:
>
> "ERROR:  Cannot drop sequence news_news_id_seq because table news column
> news_id requires it
>          You may drop table news column news_id instead"
>
> So, is the solution to drop the column first, then drop the sequence,
> then re-create the column by using ALTER TABLE ?

The easiest way to do this is to

alter table yourtablehere alter column colwithseq drop default;

which will disconnect the sequence from the table.  Note that the you can
do it the other way too.

> Something tells me
> that this will cause a problem due to referential integrity constraints
> that I set up on some of the tables' primary keys.

It could.  It's probably just easier to drop the default.

> Pardon if these are newb questions but my experience has been in MySQL
> which does not offer these features, so I am trying to learn how to use
> them.

Hey, we all started somewhere, and Postgresql is a much more persnickity
database than MySQL.  That's a feature by the way, it's usually trying to
stop you from doing the wrong thing.  :-)


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

Предыдущее
От: Erik Price
Дата:
Сообщение: Re: dropping sequences
Следующее
От: elein
Дата:
Сообщение: Re: plpython? (Was: Re: Damn triggers and NEW)