Postgres SCHEMA isolation

2019-09-17 16:21发布

问题:

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!

回答1:

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.