PostgreSQL跨数据库查询



我试图在Postgres中建立一个查询。我的背景是SQL Server,所以我遇到了一些语法上的挑战。我的查询需要击中两个单独的服务器上的两个单独的数据库。我需要在数据集之间做一个连接。实际上,我在db1中有一个包含用户登录活动的表。每次用户登录网站,都会添加一个条目。在db2上,我有一个购买表。对于每一天,我需要看到:有多少人登录,有多少登录的用户进行了购买。

我的表是这样的:

Logins                Purchases
---------             ---------
ID                    User_ID
User_ID               Amount
LoginDate 

如果我的purchase表上有一个日期字段,这将很容易。但事实并非如此。因此,目前,我正在尝试以下操作:

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的登录和购买的数量?谢谢你!

PostgreSQL不支持跨数据库查询。大多数想要"跨数据库"查询的人都使用单个数据库,其中包含多个模式。我不确定MS-SQL,但MySQL的"数据库"更像PostgreSQL的"模式"。

如果需要跨数据库查询,必须使用DBLink或postgresql -fdw。或者您可以复制数据—查看Londiste、lonny - i或简单的cronjob。

相关内容

  • 没有找到相关文章

最新更新