Re: Removing NOT NULL Contraint
От | Vladimir V. Zolotych |
---|---|
Тема | Re: Removing NOT NULL Contraint |
Дата | |
Msg-id | 39111C1D.7C491269@eurocom.od.ua обсуждение исходный текст |
Ответ на | Removing NOT NULL Contraint (Matthew <matt@ctlno.com>) |
Список | pgsql-admin |
When I need to change table (e.g. adding new column or changing col attr) I used the following: 1) dump the table: pg_dump -t my_table > my_table.out 2) edit my_table slightly (e.g. remain only COPY statement) 3) delete table my_table (also my_table's sequences if any) 4) create table as it should be 5) populate table, e.g. pgsql -e my_db < my_table.out 6) setting sequences, etc. (e.g. select setval('my_table_sequence', ...)) If you will know more convinient way, please let me now. Matthew wrote: > I may be missing something simple here, but I have an attribute in a > table that was created as NOT NULL. I now need to remove this > constraint. I don't see a proper way to do this. I think I can update > the pg_attribute table and change attnotnull from true to false. Is > this an acceptable solution or is there a good reason that I should not > directly edit the system tables? > > Maybe I'm missing something but I didn't see another way to do it other > then creating a new table, selecting into it and dropping the old table, > which seems like a lot of work for something so simple. > > Thanks, > > Matt
В списке pgsql-admin по дате отправления: