Hi, in the documentation of 8.1 the concept of roles is outlined compared to users and groups at <http://www.postgresql.org/docs/8.1/static/user-manag.html>. I am running 9.1 and due to currently learning about the ins and outs of users and permissions in postgres as opposed to mysql, and because of needing to read system tables, I also read today that pg_shadow is the real table containing the users as opposed to pg_user which is only a view and one never displaying anything but **** for the password. I don't have the link where that was, but anyways, this lead me to check: PW=# select * FROM pg_catalog.pg_shadow; usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valuntil | useconfig ----------+----------+-------------+----------+-----------+---------+-------------------------------------+----------+----------- postgres | 10 | t | t | t | t | md5d63999e27600a80bb728cc0d7c2d6375 | | testa | 24761 | f | f | f | f | md52778dfab33f8a7197bce5dfaf596010f | | (2 rows) PW=# select * FROM pg_catalog.pg_roles; rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil | rolconfig | oid ----------+----------+------------+---------------+-------------+--------------+-------------+----------------+--------------+-------------+---------------+-----------+------- postgres | t | t | t | t | t | t | t | -1 | ******** | | | 10 testa | f | t | f | f | f | t | f | -1 | ******** | | | 24761 abcd | f | t | f | f | f | f | f | -1 | ******** | | | 24762 testb | f | t | f | f | f | f | f | -1 | ******** | | | 24763 (4 rows) ^ PW=# select * FROM pg_catalog.pg_user; usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valuntil | useconfig ----------+----------+-------------+----------+-----------+---------+----------+----------+----------- postgres | 10 | t | t | t | t | ******** | | testa | 24761 | f | f | f | f | ******** | | (2 rows) Why is there a difference in these tables? Shouldn't pg_user, pg_shadow and pg_roles have entries where usename equals rolename and moreover should contain the same amount of entries? testb was created doing create role testb with role testa I was assuming that this would sort of clone the settings of testa into a new user testb. testa was created using "create user". Regards Alex |