Re: Problem with dump/restore and inheritance

Поиск
Список
Период
Сортировка
От Chris Dunlop
Тема Re: Problem with dump/restore and inheritance
Дата
Msg-id 20060222224843.GB4681@onthe.net.au
обсуждение исходный текст
Ответ на Re: Problem with dump/restore and inheritance  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
On Wed, Feb 22, 2006 at 10:11:51AM -0500, Tom Lane wrote:
> Chris Dunlop <chris@onthe.net.au> writes:
>> E.g. using the script below, the 'bar.f1' column in the 'new'
>> database ends up with a 'not null' constraint that isn't present
>> in the 'orig' database.
>
>>   create table foo (f1 integer not null);
>>   create table bar () inherits(foo);
>>   alter table bar alter column f1 drop not null;
>
> The general consensus is that the above should be illegal, ie,
> the ALTER should have been rejected.  Otherwise you would have
> a situation where a "SELECT FROM foo" could return nulls,
> violating the very clear contract of that table.  We have not
> got around to enforcing this yet, but it's on the TODO.  I
> don't see it as a pg_dump bug that it's unable to reproduce an
> invalid situation.

OK, thanks for the response Tom.  That makes sense (although it
could also be argued the contract is maintained using the "ONLY"
clause - but I imagine this has been beaten to death on the
lists already).

We'll redo our schema and program logic to be prepared for this
change if/when it comes about.  At least this will allow us to
correctly restore this one database without fooling with the
dump file!

One way or the other, I think either allowing the inherited
constraints to be dropped, or the inability of pg_dump to
correctly dump the resulting schema, should be considered a bug
rather than a lacking feature, as the current situation results
in problematical restores.  Is there a "known bugs" list?


Cheers,

Chris.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: BUG #2257: Can' stop server while autovacuum is running
Следующее
От: "herianto"
Дата:
Сообщение: BUG #2279: invalid page header in block 95 of newtrd