我在postgressql中有一个timestamp with timezone
列,名为created
,该数据保存在UTC中。
我正在使用pg-promise 8.4.4,我想选择数据,但是为每个客户端设置一个不同的时区。
逻辑是我的有角度的应用程序使用node.js端点作为api,我想我可以在创建数据库连接时设置时区,但这对我的应用程序来说是很好的。
如果另一个应用程序(来自另一个时区)想要到达同一节点端点怎么办?他们如何设置时区?
因此,在SQL中,我可以做类似的事情
set timezone to 'europe/athens';
select created from table;
但是,如何在pg-promise中为不同的客户做到这一点?
我可以做类似
的操作cmsuser.generalQuery(`select firstname, created AT TIME ZONE '+02' from table WHERE AND activated = $1 ORDER BY created`, [true])
.then((resolved)=>{
res.json({success:true, activated:resolved});
})
并使+02
部分动态吗?
cmsuser.generalQuery
是
const generalQuery = (text, params) => {
const s = pgp.as.format(text, params);
return db.any(s)
}
此方法目前存在两个问题
-1-通过上述查询,在没有时区部分为动态的情况下,我得到了firstname
,而不是created
,即日期。控制台中没有错误。
-2-为每个查询设置时区并不是一件明智的事情。
我在这里可以做什么?
谢谢