我有一个Windows应用程序需要集成到现有的PostgreSQL 8.1数据库。 我使用http://www.pgoledb.com/的OLE驱动程序。
这个特定的应用程序试图加载每个表的细节,即使它只需要访问一个。 如果我不授予用户从所有这些表中进行select的权限,则应用程序会在尝试加载每个表时引发错误。 如果我授予用户从所有这些表中进行select的权限,则应用程序会非常缓慢地加载所有元数据。
我似乎无法find一种方法来“隐藏”大部分表格,这样应用程序甚至不会知道它们存在,也不会试图对它们做任何事情。 这样的function/许可是否存在? 会创build另一个架构的帮助(目前只有一个“公共”的scheme)? 有没有OLEfunction可以帮助?
(注意,我并不在乎应用程序是否可以从安全angular度访问这些表,我只是想加快这个应用程序的用户。
我认为解决scheme围绕这个简单的问题,是Windows系统需要访问其他应用程序需要访问的现有系统的一部分的一个表? 还是它是一个单独的表,只有Windows应用程序使用?
如果是后者,那么只有一张表的新模式似乎就是答案。
如果是前者,权限是关键。 创build一个Windows应用程序将连接的新用户,然后只授予该用户对该表的访问权限。 请参阅: http : //www.postgresql.org/docs/8.4/static/privileges.html