I'm confused about how I'm able to access the following pg_* tables regardless of connected database. I thought these tables were hidden or stored in the 'postgres' database but I'm still able to access this data regardless of which database I'm connected to:

Code:
zoo=# SELECT * FROM pg_user;
 usename  | usesysid | usecreatedb | usesuper | usecatupd | userepl |  passwd  | valuntil | useconfig 
----------+----------+-------------+----------+-----------+---------+----------+----------+-----------
 postgres |       10 | t           | t        | t         | t       | ******** |          | 
 carlos   |    16384 | t           | t        | t         | t       | ******** |          | 
(2 rows)
When I use my tab key in 'psql' after the 'FROM' statement, I'm presented with a ton of what I presume to be tables however when I check for tables in the 'postgres' database, I get nothing. I'm confused...

Code:
psql (9.1.1, server 9.1.1)
You are now connected to database "postgres".
postgres=# \d
No relations found.