首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >追溯Windows 2012服务器的日期以在另一个日期使用程序

追溯Windows 2012服务器的日期以在另一个日期使用程序
EN

Stack Overflow用户
提问于 2018-03-16 05:22:38
回答 1查看 126关注 0票数 0

我有ERP应用程序,它在过帐交易时使用系统日期。数据库为PostgreSQL。我可以使用https://www.nirsoft.net/utils/run_as_date.html回溯应用程序,但我注意到事务仍然在“今天”发布,我认为这可能是因为PostgreSQL使用了系统日期。

有没有什么办法可以把PostgreSQL的日期设回原来的时间?或任何其他方法来做到这一点?ERP应用程序中的流程没有回溯日期的选项。

EN

回答 1

Stack Overflow用户

发布于 2018-03-16 07:12:26

最简单的方法是向数据库添加一个触发器,该触发器将更改插入行的日期:

代码语言:javascript
复制
create table testpast(
  id serial primary key,
  time timestamp with time zone not null default now()
);

insert into testpast (time) values (default);

select * from testpast;
 id |             time              
----+-------------------------------
  1 | 2018-03-16 00:09:20.219419+01
(1 row)

create function time_20_years_back() returns trigger as $$
    begin
        NEW.time = now()-'20 years'::interval;
        return NEW;
    end;
$$ language plpgsql;

create trigger testpast_time_20_years_back
    before insert on testpast
    for each row
    execute procedure time_20_years_back();

insert into testpast (time) values (default);

select * from testpast;
 id |             time              
----+-------------------------------
  1 | 2018-03-16 00:09:20.219419+01
  2 | 1998-03-16 00:09:55.741345+01
(2 rows)

虽然我不知道这样的黑客攻击的目的是什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49309467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档