Re: BUG #7866: even after T's child-tables are deleted it cannot have select-rule
От | Tom Lane |
---|---|
Тема | Re: BUG #7866: even after T's child-tables are deleted it cannot have select-rule |
Дата | |
Msg-id | 19761.1360509457@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | BUG #7866: even after T's child-tables are deleted it cannot have select-rule (tim.romano@yahoo.com) |
Список | pgsql-bugs |
tim.romano@yahoo.com writes: > After a table has been inherited, a select-rule cannot be created on it > *even if its child tables are deleted and a vacuum is performed afterwards*. This isn't a bug, it's an intentional implementation restriction. I quote from the source code: * Are we converting a relation to a view? * * If so, check that the relation is empty because the storage for the * relation is going to be deleted. Also insist that the rel not have * any triggers, indexes, or child tables. (Note: these tests are too * strict, because they will reject relations that once had such but * don't anymore. But we don't really care, because this whole * business of converting relations to views is just a kluge to allow * loading ancient pg_dump files.) There is not any expectation that creating a select rule would ever happen to anything except a freshly created table. We'd probably not even support the CREATE RULE syntax for this, except that pg_dump sometimes needs to do it like that to get around circular dependencies involving a view's rowtype. regards, tom lane
В списке pgsql-bugs по дате отправления: