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.  :-)


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to