是否可以JOIN从两个独立的postgres数据库中的行?
我正在使用一个服务器中的几个数据库的系统,有时我真的需要这样的功能.
希望这是一个非常简单的问题。
我有一个简单的 SELECT 查询(内置了一些子查询)。我有超过 40 个 DB,我需要对所有 DB(都具有相同的架构)运行此查询,并将结果返回到一个大表中。
我正在想象一个循环序列(就像 javascript 的 i=0; i < 40; i++),它有一个定义的变量,一旦它运行所有的数据库就会自动停止。
(我在 Navicat 工作,不过这可能无关紧要)
谢谢!
有没有办法可以查询位于"Server 2"上的数据库并在"Server 1"中获取我的数据?这是从远程服务器返回到本地记录的一组记录.
PS:不在同一台服务器上跨数据库查询,因为我知道如何使用dblink.
更新:伟大的ty.
http://www.postgresonline.com/journal/index.php?/archives/44-Using-DbLink-to-access-other-PostgreSQL-Databases-and-Servers.html就像一个魅力.我的胸围是我在postgresql网站上的dblink文档中没有看到它.
我正在开发一个cakePHP3项目,该项目有3个不同的数据源.我有一个名为application的主模型,它应该hasOne()与两个具有不同数据源的模型有两个关联作为Model Application.我创建了两个模型,并将两个模型表指向它们的数据源defaultConnectionName().
现在我hasOne()在我的ApplicationsTable对象中添加了两个关系,并在尝试时收到sql错误Applications->get().这很清楚,因为在SQL语句中它们并不是对FROM和JOIN部分的数据源的任何说明,例如SELECT * FROM datasource1.myTable
我查看了cakephp框架的ORM/Query类,而Query对象似乎只有一个数据源连接作为类属性.
有没有办法在使用蛋糕ORM的数据检索中使用不同的数据源,或者我应该在这里使用自定义查询?
提前致谢!
我正在尝试在Postgres中构建一个查询.我的背景是在SQL Server中,所以我有一些语法上的挑战.我的查询需要在两个单独的服务器上打两个单独的数据库.我需要在数据集之间进行连接.基本上,我在db1中有一个用户登录活动的表.每次用户登录网站时都会添加一个条目.在db2上,我有一个购买表.对于每一天,我需要看到:登录了多少人以及登录的用户中有多少人进行了购买.
我的表看起来像这样:
Logins Purchases
--------- ---------
ID User_ID
User_ID Amount
LoginDate
Run Code Online (Sandbox Code Playgroud)
如果我的Purchases表上有日期字段,这将很容易.但事实并非如此.所以,目前,我正在尝试以下方面:
SELECT
// Somehow get the number of logins for the given day here
// Somehow I need to get the number of purchases for the given day here
TO_CHAR(TO_TIMESTAMP((LoginDate/1000) - 14400), 'MM/DD/YYYY') AS the_day
FROM
db1.Logins AS t1,
db2.Purchases as t2
GROUP BY the_day
ORDER BY the_day;
Run Code Online (Sandbox Code Playgroud)
如何在Postgres中获取每天的登录和购买次数?谢谢!
postgresql ×4
sql ×3
associations ×1
cakephp ×1
cakephp-3.0 ×1
cross-server ×1
join ×1
navicat ×1
orm ×1