dump/reload

Поиск
Список
Период
Сортировка
От Brett McCormick
Тема dump/reload
Дата
Msg-id 13684.42513.788012.96339@web0.speakeasy.org
обсуждение исходный текст
Ответы Re: [HACKERS] dump/reload  (Bruce Momjian <maillist@candle.pha.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] Re: [INTERFACES] ODBC is slow with M$-Access Report
Следующее
От: Roland Roberts
Дата:
Сообщение: Re: [HACKERS] regular expressions from hell