dump/reload
От | Brett McCormick |
---|---|
Тема | dump/reload |
Дата | |
Msg-id | 13684.42513.788012.96339@web0.speakeasy.org обсуждение исходный текст |
Ответы |
Re: [HACKERS] dump/reload
|
Список | pgsql-hackers |
they don't always work, in the case of a table with an attribute that calls a function for its default value. postgres=> create function foo() returns int4 as 'select 1' language 'sql'; CREATE postgres=> create table a (b int4 default foo()); CREATE % pg_dump postgres > tmpfile % cat tmpfile \connect - postgres CREATE TABLE a (b int4 DEFAULT foo ( )); \connect - postgres CREATE FUNCTION foo ( ) RETURNS int4 AS 'select 1' LANGUAGE 'SQL'; COPY a FROM stdin; \. % destroydb % createdb % psql < tmpfile which of course doesn't work, because it tries to create the table before the function, which fails. then it spits out the help message because it can't understand \. this happens every time I dump/reload my db not a super easy fix, because sql functions can depend on tables to be created as well as table depending on functions. are circular references possible? doesn't seem like they would be. so pg_dump would have to figure out what order to put the table/function creation in. perhaps having ppl manually re-ordering the dump output (and documenting this accordingly!) is the best way.
В списке pgsql-hackers по дате отправления: