PostgreSQL,1个服务器,X个用户,X个分隔的环境

我是PostgreSQL数据库的新手,有些东西是在MySQL中解决的。 我有问题如何最简单地添加分离的用户从数据库中的其他对象。

我想创build用户,应该有权限template1。 他必须能够创build数据库并且可以login。 我希望她的数据库只对她可见。 我希望她不要以这种方式列出/查看/拥有对其他用户数据库的任何权限。

什么是简单的解决scheme来获得这个?

感谢帮助

最简单的方法是要求用户具有与数据库相同的名称,并configurationpg_hba.conf以便所有用户都被限制在同一个sameuser数据库中。 比如,像这样的东西:

 # TYPE DATABASE USER CIDR-ADDRESS METHOD host sameuser all 0.0.0.0/0 md5 

除了列出可单独访问所有数据库的任何pipe理帐户之外,您还需要添加此function。 如果您知道用户将连接的IP地址,请将0.0.0.0/0更改为匹配。 如果用户通过本地套接字而不是通过TCPIP进行连接,请将TYPE更改为local并删除地址列。 md5方法意味着密码是必需的。 您还需要有一个为所有用户提供访问权限的template1数据库。

至于不允许他们看到其他用户的数据库,我不知道你可以做什么,因为它们列在pg_catalog模式,并列出了psql -l