Thread: Damaged table "pg_access"
Hello all, when I try to access the system-table "pg_class", I get the following error: zeda=# select * from pg_class; NOTICE: get_groname: group 1 not found pqReadData() -- backend closed the channel unexpectedly. This probably means the backend terminated abnormally before or while processing the request. The connection to the server was lost. Attempting reset: Failed. !# What happened? Is there any way to repare the damaged table? Thanks in advance for all of you, who spend their valuable time! Best regards, Jens ============================================= Jens Hartwig --------------------------------------------- debis Systemhaus GEI mbH 10875 Berlin Tel. : +49 (0)30 2554-3282 Fax : +49 (0)30 2554-3187 Mobil : +49 (0)170 167-2648 E-Mail : jhartwig@debis.com =============================================
Jens Hartwig <jhartwig@debis.com> writes: > when I try to access the system-table "pg_class", I get the following > error: > zeda=# select * from pg_class; > NOTICE: get_groname: group 1 not found > pqReadData() -- backend closed the channel unexpectedly. Evidently you had created a group with sysid 1, granted some permissions on some table to that group, and then deleted the group. Re-create the group (CREATE GROUP foo WITH SYSID 1). I thought the crash in this situation had been fixed long since, but apparently not :-( ... it still fails in current sources. I'll make sure it's fixed for 7.1. regards, tom lane
Hello, yes, you were completely right, thank you very much, you saved me from spending much time on this problem! The recreation of the groups 1, 2, 3 and 4 resolved the problem :-) My next question is: how can I (as a workaround till version 7.1) permanently remove a group without facing this problem? Can I rudely remove the granted permissions by any command (e.g. deleting it manually from the system catalogue)? Best regards, Jens Tom Lane schrieb: > > Jens Hartwig <jhartwig@debis.com> writes: > > when I try to access the system-table "pg_class", I get the following > > error: > > > zeda=# select * from pg_class; > > NOTICE: get_groname: group 1 not found > > pqReadData() -- backend closed the channel unexpectedly. > > Evidently you had created a group with sysid 1, granted some permissions > on some table to that group, and then deleted the group. Re-create the > group (CREATE GROUP foo WITH SYSID 1). > > I thought the crash in this situation had been fixed long since, but > apparently not :-( ... it still fails in current sources. I'll make > sure it's fixed for 7.1. > > regards, tom lane ============================================= Jens Hartwig --------------------------------------------- debis Systemhaus GEI mbH 10875 Berlin Tel. : +49 (0)30 2554-3282 Fax : +49 (0)30 2554-3187 Mobil : +49 (0)170 167-2648 E-Mail : jhartwig@debis.com =============================================
Jens Hartwig <jhartwig@debis.com> writes: > My next question is: how can I (as a > workaround till version 7.1) permanently remove a group without facing > this problem? Can I rudely remove the granted permissions by any command > (e.g. deleting it manually from the system catalogue)? There isn't any code to scan through the table ACLs and remove references to a particular group or user (if there were, DROP GROUP would be invoking it already). Feel free to submit some... regards, tom lane