Port Bug Report: GRANT to GROUP(s) causes PG_DUMP(ALL) to fail
От | Unprivileged user |
---|---|
Тема | Port Bug Report: GRANT to GROUP(s) causes PG_DUMP(ALL) to fail |
Дата | |
Msg-id | 199901310027.TAA78728@hub.org обсуждение исходный текст |
Список | pgsql-ports |
============================================================================ POSTGRESQL BUG REPORT TEMPLATE ============================================================================ Your name : Don Meyer Your email address : dlmeyer@uiuc.edu Category : runtime: back-end Severity : non-critical Summary: GRANT to GROUP(s) causes PG_DUMP(ALL) to fail System Configuration -------------------- Operating System : Linux 2.0.36 (RedHat 5.1+) PostgreSQL version : 6.4.2 Compiler used : Hardware: --------- Linux wcb.aces.uiuc.edu 2.0.36 #2 Mon Nov 16 10:50:16 CST 1998 i686 unknown Versions of other tools: ------------------------ gcc 2.7.2.3 -------------------------------------------------------------------------- Problem Description: -------------------- When access has been granted to a group, the PSQL "\z" command results in the following error: "pqReadData() -- backend closed the channel unexpectedly. The pg_dumpall command will also fail when it reaches the db to which this command has been applied. (Same behaviour under postgreSQL 6.3.2...) Backend channels are closed for all active connections when this error is encountered on any one. -------------------------------------------------------------------------- Test Case: ---------- ; {begin setup phase} createdb test psql test exec the following in psql: INSERT INTO pg_group VALUES ('ratbert'); CREATE USER fubar IN GROUP ratbert; CREATE TABLE ROOMS( RoomID integer NOT NULL, OrderMapID integer NOT NULL); GRANT ALL ON ROOMS TO GROUP RATBERT; ;{end setup phase} ;{ Execute a "pg_dumpall" here, or simply try the "\z" command within psql. } ;{begin undo phase} REVOKE ALL ON ROOMS FROM GROUP RATBERT; ;{end undo phase} ;{ Test again as above; usually will now work. Sometimes not though... } ;{ begin cleanup } psql test exec the following in psql: DELETE FROM pg_group WHERE GRONAME = 'ratbert'; \q destroydb test ;{ end cleanup } -------------------------------------------------------------------------- Solution: --------- --------------------------------------------------------------------------
В списке pgsql-ports по дате отправления: