On Wed, Oct 28, 2009 at 1:52 PM, Houfek, Thomas
<thomas.houfek@vanderbilt.edu> wrote:
> We are moving from Oracle to PostgreSQL and have hit a hitch.
>
> We have a few views that we want to expose to partners at another
> institution. However, we do not want them to be able to see the schemas or
> even really the names of our other databases. I have found no way to hide
> databases and tables from users within a database cluster. It appears that
> people have been complaining about not being able to do this in PG, going a
> long way back. Is there presently some way to do this, that I have
> missed? If not, what approach would you recommend to accomplish what we
> want to do here?
Yeah, pgsql just doesn't have that level of isolation built into, and
probably won't for some time, as most users don't need it. There are
a few options.
1: Set up a replicant with slony of just the tables you want them to
see. If you only want the view, you could use a materialized view on
the source and replicate that.
2: Use a web service to expose the data set without exposing the
database directly.
No matter how much security my db had I don't think I'd ever let a
remote customer access it directly (the main db that is, a clone with
just the right data is a different story.)