Обсуждение:
Hello, How can one differential between apparently duplicated usernames? For example I have a postgres id 'www' present within my pg_shadow/pg_user. I recently installed a package and inadvertantly created another 'www' user. I have managed to remove the duplicate user by deleting it from pg_shadow by identifying it via its usesysid field. How can I 1) Ensure I canot in future create duplicate names? 2) If duplicate users are possible by what other means can the various instances of them be referenced? Stephen ---------------------------------------------- 010000C9
Hello, as a post script to this.. Under normal circumstances one cannot add another user of the same name (phew!:) ) I think this was the result of a setup script writing directly into pg_shadow and pg_user; Stephen ---------------------------------------------- 010000C9 -----Original Message----- From: owner-pgsql-interfaces@postgreSQL.org [mailto:owner-pgsql-interfaces@postgreSQL.org]On Behalf Of Stephen Martin Sent: Saturday, February 26, 2000 5:00 PM To: pgsql-interfaces@postgreSQL.org Subject: [INTERFACES] Date: Sat, 26 Feb 2000 17:01:55 -0800 Hello, How can one differential between apparently duplicated usernames? For example I have a postgres id 'www' present within my pg_shadow/pg_user. I recently installed a package and inadvertantly created another 'www' user. I have managed to remove the duplicate user by deleting it from pg_shadow by identifying it via its usesysid field. How can I 1) Ensure I canot in future create duplicate names? 2) If duplicate users are possible by what other means can the various instances of them be referenced? Stephen ---------------------------------------------- 010000C9 ************
"Stephen Martin" <stephen@sealteam.demon.co.uk> writes: > For example I have a postgres id 'www' present within my pg_shadow/pg_user. > I recently installed a package and inadvertantly created another 'www' user. > How can I > 1) Ensure I canot in future create duplicate names? There should probably be a unique index on pg_shadow's usename field, and another one on the usesysid field (otherwise there's not a unique map from sysids to users, which is bad since we use sysids as referential keys in other tables). I'm surprised this hasn't been pointed out before :-( I'm not sure how difficult it would be to do it. Just creating an index with CREATE INDEX will not work, because pg_shadow is an installation-wide table and its index must be as well. There's some routine somewhere in the backend that would have to be taught about the index. regards, tom lane