我是pgsql的新手。我对此有几个问题:
1)我知道可以通过<schema>.<table_name>访问列,但是当我尝试访问像<db_name>.<schema>.<table_name>这样的列时,会抛出如下错误
Cross-database references are not implemented我该如何实现它?
2)我们有10+表,其中6个有2000+行。在一个数据库中维护所有这些数据行吗?或者我应该创建dbs来维护它们?
3)从上面有超过2000+行的问题表中,对于一个特定的过程,我需要几行数据。我已经创建了视图来获取这些行。例如:一个表包含员工的详细信息,他们分为3种类型:经理、架构师和工程师。很明显,这个表并没有得到每一个进程...用于从其中读取数据的进程...我认为有两种方法可以获取data SELECT * FROM emp WHERE type='manager',或者我可以为经理、架构师和工程师创建视图,然后获取data SELECT * FROM view_manager
你能推荐更好的方法吗?
4)像表一样,视图也需要存储空间吗?
提前谢谢。
发布于 2008-10-01 05:25:39
选择alias_1.col1,alias_2.col3 FROM table_1 as alias_1,database_b.table_2 as alias_2 WHER...
如果您数据库在另一个实例上,那么您将需要使用dblink contrib。
发布于 2008-09-26 06:20:30
1:一个变通方法是打开一个到另一个数据库的连接,并(如果使用psql(1))将其设置为您的当前连接。但是,只有在不尝试连接两个数据库中的表的情况下,这才能起作用。
发布于 2008-10-01 05:19:49
1)这意味着它不是Postgres支持的功能。我不知道如何创建在多个数据库上运行的查询。
2)这对于一个数据库来说是很好的。单个数据库可以包含数十亿行。
3)不要费心创建视图,不管怎样,查询都很简单。
4)视图不需要数据库中的空间,除了它们的查询定义。
https://stackoverflow.com/questions/137998
复制相似问题