关于postgresql timestamp时间戳问题

 更新时间:2023年03月21日 08:38:23   作者:Z涛子  
这篇文章主要介绍了关于postgresql timestamp时间戳问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

postgresql timestamp时间戳

数据库的表中有一个update_time的时间戳字段,在新增或修改数据时要自动获取当前时间,而不是代码中手动传入时间。

postgresql 和mysql的区别

根据调研在mysql中支持当前时间戳的配置CURRENT_TIMESTAMP

此时改表的结果是

而postgresql 不支持该配置,即使配置CURRENT_TIMESTAMP也不会触发更新和创建事件

解决方案

postgresql只能采用触发器的形式进行操作。

创建触发器流程:

-- 创建触发函数 --
CREATE OR REPLACE FUNCTION update_modified_column() 
RETURNS TRIGGER AS $$
BEGIN
    NEW.update_time = now();
    RETURN NEW; 
END;
$$ language 'plpgsql';
 
-- 创建触发器  on 后面是对应数据库的表名--
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON area FOR EACH ROW EXECUTE PROCEDURE  update_modified_column();

查询触发器

-- 查询所有触发器 --
SELECT * FROM pg_trigger;
-- 查询所有触发函数 --
select * from pg_proc;

postgresql timestamp相减

如果是按相差24小时就算1天的话,直接用两个timestamp值相减得到一个interval值,然后获得此interval值的天数部分即可

如下:

select date_part('day', '2015-01-15 17:05'::timestamp - '2013-01-14 16:05'::timestamp);

如果要按timestamp的日期部分做相差天数,则可以转成date值,然后直接相减

如下:

select ('2015-01-15 17:05'::timestamp)::date - ('2015-01-14 19:05'::timestamp)::date;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决postgresql 序列跳值的问题

    解决postgresql 序列跳值的问题

    这篇文章主要介绍了解决postgresql 序列跳值的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • postgresql限制某个用户仅连接某一个数据库的操作

    postgresql限制某个用户仅连接某一个数据库的操作

    这篇文章主要介绍了postgresql限制某个用户仅连接某一个数据库的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • pgsql查询优化之模糊查询实例详解

    pgsql查询优化之模糊查询实例详解

    这篇文章主要给大家介绍了关于pgsql查询优化之模糊查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用pgsql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • postgresql 中的参数查看和修改方式

    postgresql 中的参数查看和修改方式

    这篇文章主要介绍了postgresql 中的参数查看和修改方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • postgresql查询自动将大写的名称转换为小写的案例

    postgresql查询自动将大写的名称转换为小写的案例

    这篇文章主要介绍了postgresql查询自动将大写的名称转换为小写的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • postgresql 12版本搭建及主备部署操作

    postgresql 12版本搭建及主备部署操作

    这篇文章主要介绍了postgresql 12版本搭建及主备部署操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSql触发器创建、使用以及删除示例详解

    PostgreSql触发器创建、使用以及删除示例详解

    在PostgreSQL中触发器函数是一个没有参数并且返回trigger类型的函数,这篇文章主要给大家介绍了关于PostgreSql触发器创建、使用以及删除的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • 在Linux系统上安装PostgreSQL数据库

    在Linux系统上安装PostgreSQL数据库

    这篇文章介绍了在Linux系统上安装PostgreSQL数据库的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • pgsql批量修改sequences的start方式

    pgsql批量修改sequences的start方式

    这篇文章主要介绍了pgsql批量修改sequences的start方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • PostgreSQL时间线(timeline)和History File的用法

    PostgreSQL时间线(timeline)和History File的用法

    这篇文章主要介绍了PostgreSQL时间线(timeline)和History File的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12

最新评论