deactivating/activating constraint
От | Oleg |
---|---|
Тема | deactivating/activating constraint |
Дата | |
Msg-id | 43301C14.7020309@iwk.uka.de обсуждение исходный текст |
Ответ на | problem with updateable view and constraint (Oleg <evdakov@iwk.uka.de>) |
Ответы |
Re: deactivating/activating constraint
Re: deactivating/activating constraint |
Список | pgsql-general |
Dear All, is it possible to temporary deactivate a constraint in PostgreSQL? There is a constraint that does not allow me to write some data (see e-mail below). But after all datasets are written the constraint is valid. So I was wondering wether it is possible to deactivate a constraint write all records in all tables then activate constraint again. Somebody told me that it is possible in Oracle. Thanks a lot in advance Oleg > Dear All > I am PostgreSQL beginner. I am trying to write some values from > external source table “Table1” (using PostGIS plugin) to 2 destination > PostgreSQL tables “Table2” and “Table3” that describes relations of data: > > Table1: > | A | B | > --------- > | 1 | 1 | > | 2 | 3 | > | 3 | 1 | > > Table2 > | C | > ----- > | 1 | > | 2 | > > Table3 > | D | E | > --------- > | 1 | 1 | case 1 > | 2 | 3 | case 2 > > Table3 has constraint: > FOREIGN KEY E REFERENCES Table2 (C) ON UPDATE NO ACTION ON DELETE > RESTRICT; > > I use updateable view “View1” (due to PostGIS interface) with columns > “C” and “E” and rule: > AS ON INSERT TO View1 DO INSTEAD (INSERT INTO Table2 VALUES (NEW.C); > INSERT INTO Table3 VALUES (NEW.D, NEW.E)); > > I faced following problem: As it is shown in Table3 while trying to > write data in case 1 everything works fine, but case 2 is not possible > due to constraint in Table3. However my aim is to write a column A to > column C, column A to column D and column B to column E not removing > constraint for table3. May be there is a way to adjust constraint? Or > may be to adjust rule somehow to make it to write all data from column > A to column C first and after that fill in Table3? > Thanks a lot in advance > Oleg
В списке pgsql-general по дате отправления: