我正在尝试在Postgres中构建一个查询。我的背景是在SQL Server中,所以我有一些语法上的挑战。我的查询需要在两个单独的服务器上打两个单独的数据库。我需要在数据集之间进行连接。基本上,我在db1中有一个用户登录活动的表。每次用户登录网站时都会添加一个条目。在db2上,我有一个购买表。对于每一天,我需要看到:登录了多少人以及登录的用户中有多少人进行了购买。
我的表格如下:
Logins Purchases
--------- ---------
ID User_ID
User_ID Amount
LoginDate
如果我的购买表上有日期字段,这将很容易。但事实并非如此。所以,目前,我正在尝试以下方法:
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;
如何在Postgres中获取每天的登录和购买次数?谢谢!
答案 0 :(得分:6)
PostgreSQL不支持跨数据库查询。大多数想要“跨数据库”查询的人使用其中包含多个架构的单个数据库。我不确定MS-SQL,但MySQL的“数据库”更像是PostgreSQL“schema”。
如果您需要跨数据库查询,则必须使用DBLink或postgres-fdw。或者你可以复制数据 - 看看Londiste,Slony-I或简单的cronjob。