关于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的B-tree索引用法详解

    PostgreSQL的B-tree索引用法详解

    这篇文章主要介绍了PostgreSQL的B-tree索引用法详解,有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL+GeoHash地图点位聚合实现代码

    PostgreSQL+GeoHash地图点位聚合实现代码

    这篇文章主要介绍了PostgreSQL+GeoHash地图点位聚合,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • PostgreSQL 允许远程访问设置的操作

    PostgreSQL 允许远程访问设置的操作

    这篇文章主要介绍了PostgreSQL 允许远程访问设置的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • postgresql 中的 like 查询优化方案

    postgresql 中的 like 查询优化方案

    这篇文章主要介绍了postgresql 中的 like 查询优化方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL 复制表的 5 种方式详解

    PostgreSQL 复制表的 5 种方式详解

    PostgreSQL 提供了多种不同的复制表的方法,它们的差异在于是否需要复制表结构或者数据,这篇文章主要介绍了PostgreSQL 复制表的 5 种方式,需要的朋友可以参考下
    2023-01-01
  • PostgreSQL流复制参数max_wal_senders的用法说明

    PostgreSQL流复制参数max_wal_senders的用法说明

    这篇文章主要介绍了PostgreSQL流复制参数max_wal_senders的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • PostgreSQL 16 新特性之正态分布随机数函数的示例

    PostgreSQL 16 新特性之正态分布随机数函数的示例

    这篇文章主要介绍了PostgreSQL 16 新特性之正态分布随机数函数,PostgreSQL 16 新增了一个内置的 random_normal() 函数,用于生成这种随机数,通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • PostgreSQL 实现登录及修改密码操作

    PostgreSQL 实现登录及修改密码操作

    这篇文章主要介绍了PostgreSQL 实现登录及修改密码操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Postgresql主从异步流复制方案的深入探究

    Postgresql主从异步流复制方案的深入探究

    这篇文章主要给大家介绍了关于Postgresql主从异步流复制方案的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Postgresql具有一起的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • PostgreSQL的应用技巧和示例分享

    PostgreSQL的应用技巧和示例分享

    本文会总结一些Postgres中,从应用需求和场景出发,不太常见,但比较常用并且有用的SQL语句,文中的示例代码简洁易懂,需要的小伙伴可以收藏一下
    2023-06-06

最新评论