Обсуждение: dump of dictionary

Поиск
Список
Период
Сортировка

dump of dictionary

От
Feite Brekeveld
Дата:
Hi,

Is there a way to get a dictionary back in the (or almost the) same way
the database is created ?

When defining:

create table xxx (
   id varchar(10) not null,
   blabla varchar(100)
);


create table refxx (
   id varchar(10) not null,
   other values ...

  primary key(id),
  foreign key(id) references xxx(id)
);


After a pg_dump you get a file with the definition of triggers that were
a result of the foreign key part in the table definition. When having a
complex database the file becomes almost unreadable.

Is there a way to get the dictionary back in the way as stated above ?


Thanks,

Feite Brekeveld


Re: dump of dictionary

От
Stephan Szabo
Дата:
On Sat, 17 Feb 2001, Feite Brekeveld wrote:

> Is there a way to get a dictionary back in the (or almost the) same way
> the database is created ?
>
> When defining:
>
> create table xxx (
>    id varchar(10) not null,
>    blabla varchar(100)
> );
>
>
> create table refxx (
>    id varchar(10) not null,
>    other values ...
>
>   primary key(id),
>   foreign key(id) references xxx(id)
> );
>
>
> After a pg_dump you get a file with the definition of triggers that were
> a result of the foreign key part in the table definition. When having a
> complex database the file becomes almost unreadable.
>
> Is there a way to get the dictionary back in the way as stated above ?

Currently, no, well at least not with post-processing (you could probably
perl it back together again by reading the trigger definitions)

Probably what it will end up being eventually is ALTER TABLE ADD
CONSTRAINT after data load (or in schema-only dumps, after all
definitions) so that recursive constraints work correctly (table a refs
table b refs table a) and so that when we make it faster (doing the
entire table check at once instead of a trigger call per row) it'll
be faster than having the constraint in before the load.