Re: Dropped index on table preventing rule creation
От | Robert Haas |
---|---|
Тема | Re: Dropped index on table preventing rule creation |
Дата | |
Msg-id | C85619BB-735B-4821-9476-F2F489FD832C@gmail.com обсуждение исходный текст |
Ответ на | Re: Dropped index on table preventing rule creation (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Dropped index on table preventing rule creation
|
Список | pgsql-bugs |
On Sep 10, 2011, at 11:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Thom Brown <thom@linux.com> writes: >> I don't use rules, but in a bit of experimentation on Git master, I >> discovered the following behaviour: >=20 >> CREATE TABLE test1 (id serial primary key, things text); >> CREATE TABLE test2 (id serial primary key, things text); >> ALTER TABLE test1 DROP CONSTRAINT test1_pkey; >> ALTER TABLE test2 DROP CONSTRAINT test2_pkey; >> CREATE RULE "_RETURN" AS ON SELECT TO test1 DO INSTEAD select * from tes= t2; >=20 >> This produces the error message: could not convert table "test1" to a >> view because it has indexes >=20 > IIRC, this is because the check is just checking relhasindex. You > should be able to recover and create the rule if you VACUUM the table. >=20 > We could no doubt add more code to make that more transparent, but I > don't see the point. The entire exercise of converting a table to a > view is only meant to support loading of pg_dump output from versions > that are probably ten years obsolete at this point. We don't even > document that you can do the above, do we? >=20 > (IOW, rather than "fix" this I'd prefer to rip out the code altogether. > But maybe we should wait a couple more years for that.) IIRC, it's not dead code. I think you can still generate such a dump if you= use CREATE OR REPLACE VIEW to manufacture a pair of mutually recursive vie= ws. Now we should probably disallow that, but we currently don't. ...Robert
В списке pgsql-bugs по дате отправления: