Port Bug Report: GRANT to GROUP(s) causes PG_DUMP(ALL) to fail

From: Unprivileged user <nobody>
To: pgsql-ports(at)postgresql(dot)org
Subject: Port Bug Report: GRANT to GROUP(s) causes PG_DUMP(ALL) to fail
Date: 1999-01-31 00:27:00
Message-ID: 199901310027.TAA78728@hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ports


============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================

Your name : Don Meyer
Your email address : dlmeyer(at)uiuc(dot)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:
---------

--------------------------------------------------------------------------

Browse pgsql-ports by date

  From Date Subject
Next Message Unprivileged user 1999-01-31 19:11:44 Port Bug Report: initdb failure
Previous Message Unprivileged user 1999-01-30 03:45:47 Port Bug Report: string concatenation operator association problem