Re: Generate user/group sysids from a sequence?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Generate user/group sysids from a sequence?
Дата
Msg-id 12002.1042817035@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Generate user/group sysids from a sequence?  ("Shridhar Daithankar" <shridhar_daithankar@persistent.co.in>)
Список pgsql-hackers
Shridhar Daithankar <shridhar_daithankar@persistent.co.in> writes:
> If this is the idea, I suggest that all user/group  transactions be logged. So 
> that admin can go thr. them to find out what was id of an user at any given 
> time. Otherwise admin is not likely to keep list of uids handy and in tough 
> situation, that is what he/she is going to need.

No, it's not really a problem.  The only reason why you'd care about
recreating a user with a pre-existing SYSID is if there are still
objects or permissions entries in the database with that ownership ID
--- and in that case, you can easily see what ID they have.  An example:

regression=# create table foo (f1 int);
CREATE TABLE
regression=# create user joe;
CREATE USER
regression=# grant select on foo to joe;
GRANT
regression=# \z fooAccess privileges for database "regression"Schema | Table |     Access privileges
--------+-------+----------------------------public | foo   | {=,postgres=arwdRxt,joe=r}
(1 row)

... time passes ...

regression=# drop user joe;
DROP USER

... after awhile you realize your mistake:

regression=# \z fooAccess privileges for database "regression"Schema | Table |     Access privileges
--------+-------+----------------------------public | foo   | {=,postgres=arwdRxt,123=r}
(1 row)

... and here's how you get out of it:

regression=# create user joe with sysid 123;
CREATE USER
regression=# \z fooAccess privileges for database "regression"Schema | Table |     Access privileges
--------+-------+----------------------------public | foo   | {=,postgres=arwdRxt,joe=r}
(1 row)

(now you can do a REVOKE if you need to)
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: createlang failed!
Следующее
От: Tom Lane
Дата:
Сообщение: Re: createlang failed!