Problems with dump /restore of views
От | Rod Taylor |
---|---|
Тема | Problems with dump /restore of views |
Дата | |
Msg-id | 1024675612.82060.128.camel@fury.inquent.com обсуждение исходный текст |
Ответы |
Re: Problems with dump /restore of views
|
Список | pgsql-hackers |
For some reason a view with a select distinct, an order and an exception by will cause pg_dump to output a double order by -- one for each select which of course is bad SQL. PSQL ==== rbt_t=# create view test as select distinct relname, reltuples, relnatts from pg_class where relkind = 't' except select relname, reltuples, relnatts from pg_class where relkind = 't' and relnatts > 4 order by relname; CREATE rbt_t=# select * from test; relname | reltuples | relnatts ----------------+-----------+----------pg_toast_1255 | 0 | 3pg_toast_16384 | 0 | 3pg_toast_16386| 0 | 3pg_toast_16408 | 0 | 3pg_toast_16410 | 5 | 3pg_toast_16416| 0 | 3 PG_DUMP ======= -- -- TOC Entry ID 2 (OID 337283) -- -- Name: test Type: VIEW Owner: rbt -- CREATE VIEW "test" as SELECT DISTINCT pg_class.relname, pg_class.reltuples, pg_class.relnatts FROM pg_class WHERE (pg_class.relkind = 't'::"char") ORDER BY pg_class.relname, pg_class.reltuples, pg_class.relnatts EXCEPT SELECT pg_class.relname, pg_class.reltuples, pg_class.relnatts FROM pg_class WHERE ((pg_class.relkind = 't'::"char") AND (pg_class.relnatts > 4)) ORDER BY 1; PSQL ==== rbt_t=# drop view test; DROP rbt_t=# CREATE VIEW "test" as SELECT DISTINCT pg_class.relname, pg_class.reltuples, pg_class.relnatts FROM pg_class WHERE (pg_class.relkind = 't'::"char") ORDER BY pg_class.relname, pg_class.reltuples, pg_class.relnatts EXCEPT SELECT pg_class.relname, pg_class.reltuples, pg_class.relnatts FROM pg_class WHERE ((pg_class.relkind = 't'::"char") AND (pg_class.relnatts > 4)) ORDER BY 1; ERROR: parser: parse error at or near "EXCEPT"
В списке pgsql-hackers по дате отправления: