本文介绍了Postgres SCHEMA隔离的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果可以在一个postgres数据库(高于8.3的版本)上创建一个只能访问某个指定模式的用户,我就会漫游。问题是,在我的数据库我有几个模式。如果我撤销某个用户对除了一个模式之外的所有模式的所有权限,他仍然可以使用PgAdmin工具浏览数据库。通过浏览他实际上可以看到数据结构,和所有的功能,虽然他不能查询任何东西。
是一种模式隔离,某些用户无法知道其他模式是否在Postgres数据库中存在。

I was wandering if it's possible to create a user on a postgres database (version higher than 8.3) which could access only a certain specified schema. The problem is, that on my database I have a few schemas. If I revoke all privileges from a certain user on all schemas except one, he can still browse the database using the i.e. PgAdmin tool. By browsing he can actually see the data structure, and all the functions although he cannot query anything.Is the kind of schema isolation, in which certain user wouldn't be able to know if the other schemas exist possible in Postgres database at all?

Thx !

推荐答案

不,没有办法在数据库中完全隐藏对象的存在 - 只是访问它们。如果您需要隐藏数据结构(由于某种原因),您将需要使用不同的数据库。

No, there is no way to hide the existence of objects inside a database completely - just the access to them. If you need to hide the data structure (for some reason), you will need to use different databases.

这篇关于Postgres SCHEMA隔离的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 20:38