我在 ubuntu 9.04 下使用 PostgreSQL 8.3。我使用控制台客户端或 Pgadmin III 访问我的数据库服务器。目前,我只需要限制对数据库中几个模式的访问,并且不显示服务器中的其他数据库。
例如,我当前的 postgres 服务器有以下数据库:
postgres-8.3-server
|-- db1
| |-- sch_a
| |-- sch_b
| |-- sch_c
| `-- sch_d
|-- db2
| |-- sch_e
| |-- sch_f
| `-- sch_g
`-- db3
`-- sch_h
我需要限制角色“joe”只能访问 db2 的 sch_e 和 shc_g,并且不显示同一数据库中的其他模式。列出数据库时,输出应该是:
postgres-8.3-server
|-- db2
|-- sch_e
`-- sch_g
我当前的解决方案限制了架构和数据库访问,但我仍然可以看到数据库名称列表。当我尝试访问它们中的任何一个(除了我被允许访问的)时,我会收到一条关于在 pg_hba.conf 文件中找不到特定条目的消息,这很好但并不理想。
我目前正在查看手册并在谷歌上搜索更多信息。
提前致谢