Phantom user in db--'128'

Started by Taber, Markover 21 years ago3 messagesgeneral
Jump to latest
#1Taber, Mark
Mark.Taber@dof.ca.gov

I posted this earlier, and got no responses.
While using pg_dump and pg_restore (or attempting to restore, more
precisely), the process failed because of a missing user, user '128'. I
never created such a user, and when going to Privileges, such a user does
not exist in the list. However, while going out and checking some of the
tables, this user shows up as a user with privileges on them (however, not
on all tables). How do I get rid of this user? And how do I ensure that it
doesn't get created again? I'd like to understand what is really going on
before hacking the user table.
Thanks in advance.

Mark Taber
State of California
Department of Finance
Infrastructure & Architecture

916.323.3104 x 2945
mark.taber@dof.ca.gov

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Taber, Mark (#1)
Re: Phantom user in db--'128'

"Taber, Mark" <Mark.Taber@dof.ca.gov> writes:

While using pg_dump and pg_restore (or attempting to restore, more
precisely), the process failed because of a missing user, user '128'. I
never created such a user, and when going to Privileges, such a user does
not exist in the list. However, while going out and checking some of the
tables, this user shows up as a user with privileges on them (however, not
on all tables). How do I get rid of this user? And how do I ensure that it
doesn't get created again? I'd like to understand what is really going on

You had a user with usesysid 128, whom you dropped, but he still had
privileges on some tables --- DROP USER is not good about detecting
dangling references.

I'd suggest recreating the user (CREATE USER foo WITH SYSID 128) and
then being careful to REVOKE all his privileges before you drop him
again. Or you can just manually edit the dump file to remove the
attempts to GRANT him privileges.

regards, tom lane

#3Taber, Mark
Mark.Taber@dof.ca.gov
In reply to: Tom Lane (#2)
Re: Phantom user in db--'128'

Thanks! Worked like a charm.

Mark Taber
State of California
Department of Finance
Infrastructure & Architecture

916.323.3104 x 2945
mark.taber@dof.ca.gov

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Friday, November 19, 2004 7:42 AM
To: Taber, Mark
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Phantom user in db--'128'

"Taber, Mark" <Mark.Taber@dof.ca.gov> writes:

While using pg_dump and pg_restore (or attempting to restore, more
precisely), the process failed because of a missing user, user '128'.
I never created such a user, and when going to Privileges, such a user
does not exist in the list. However, while going out and checking some
of the tables, this user shows up as a user with privileges on them
(however, not on all tables). How do I get rid of this user? And how
do I ensure that it doesn't get created again? I'd like to understand
what is really going on

You had a user with usesysid 128, whom you dropped, but he still had
privileges on some tables --- DROP USER is not good about detecting dangling
references.

I'd suggest recreating the user (CREATE USER foo WITH SYSID 128) and then
being careful to REVOKE all his privileges before you drop him again. Or
you can just manually edit the dump file to remove the attempts to GRANT him
privileges.

regards, tom lane