没有办法查询当前数据库之外的数据库。因为 PostgreSQL 加载数据库相关的系统目录(系统表),跨数据库的查询如何执行也未明确。

解决方案 »

  1.   

    这样好像太弱了点。那么postgresql有什么类似于oracle的用户.表这样权限分割的做法?
    就是在表与数据库之间有没有当中一层?
      

  2.   

    你要是在应用程序或脚本中可以连接不同的库做查询,再对结果处理。有说contrib/dblink 允许采用函数调用实现跨库查询,不知道那个怎么用的,试了一个例子查询出错。你要是处于某个库中的话,可以\c dbname 切换到另一个库查询。 psql作为一个自由数据库,功能已经很强大了。
    psql 跟oracle 的权限方面不太一样的,数据库用户名在整个数据库集群中是全局的(而不是每个库不同)。一个数据库用户进入某个库后,它可以看到其它任何用户建的表,但除了超级管理员用户外,一般用户是没权限操作别的用户建立的表的,除非给它赋了相应权限。
      

  3.   

    谢谢,看来对于postgresql也只能这样将就一下了。
    主要还是习惯问题,把一些不相关的表放到一个库里看起来不怎么舒服。自己加点权限控制用起来也没什么大问题。
    结贴。