在项目中,有时会动态地按周期(如按月)封存统计数据,通常需要做这样的处理: 以按月封存为例,当月数据到达时,先需要检查该月是否有过记录,有则以更新的方式累加统计数字,无则添加一条记录. 假设我们创建以下月封存表 month_stat,字段 month_name 表示月份,字段 total_count 表示统计数字. CREATE TABLE month_stat (month_name varchar(6), total_count int, UNIQUE (month_name)); 普通处理…
REDOLOG文件里的用户数据和数据文件里的用户数据存储结构相同 几个月前同事给台湾一家公司培训<pg9 ad admin>时,有个学员提及WAL里记录的内容为Query时的SQL语句(比如insert等),同事告知WAL里记录的tuple信息,而非SQL,该学员坚持里面是SQL或SQL+tuple,并说oracle的redo日志里记录的是SQL(不知到这个从哪里知道的,也许是日志挖掘出来SQL的缘由吧).便看了一下源码(还是开源的好). 前面我写过一篇文章<PostgreSQL的存储系…
在实际应用中,对于具体的数据计算我们会找相应的函数来实现.而计算需求不同的表达,往往会使得我们使用不同的函数或方式来实现.或者也可以说,同一计算可以使用多种不同的表达方式实现. PostgreSQL 提供非常丰富的类型及函数,一些常用的函数可参考此文. 以下我们通过实例来展示几个常用的函数表达场景 首先,我们创建示例数据如下 CREATE TABLE table_test ( id int PRIMARY KEY, test_name varchar(10), -- 名称 group_code…
原文:http://www.cnblogs.com/mchina/archive/2012/08/11/2537393.html 有以下几种方法用于优化数据的批量插入. 1. 关闭自动提交:     在批量插入数据时,如果每条数据都被自动提交,当中途出现系统故障时,不仅不能保障本次批量插入的数据一致性,而且由于有多次提交操作的发生,整个插入效率也会受到很大的打击.解决方法是,关闭系统的自动提交,并且在插入开始之前,显式的执行begin transaction命令,在全部插入操作完成之后再执行co…
导读:本篇将简单探讨插入图片.音频.视频的功能按钮实现方式 传送门:富文本编辑器UEditor自定义工具栏(一.基础配置与字体.背景色.行间距.超链接实现) 一.效果图 1.UEditor自定义工具栏-插入图片功能按钮效果图如下: 2.UEditor自定义工具栏-插入音频功能按钮效果图如下: 3.UEditor自定义工具栏-插入视频功能按钮效果图如下: 注:为了截图,缩小了浏览器,因此视频列表时间显示样式稍有问题,请自行忽略. 二.自定义工具栏-插入图片.音频.视频对应弹层实现方式 思路 使用L…
在上一篇文章中我们学习了怎么安装pgsql,安装好了后,我们来学习一下怎么对pgsql进行创建操作以及相关的crud的操作啦 一 创建数据库 $ createdb test 然后你可能会遇到如下的错误: createdb: could not connect to database template1: 致命错误:  角色 "xxx" 不存在 这是因为在你init之后,pgsql给你创建了一个用户:postgres 需要使用 $ su - postgres $ createdb myd…
上篇博客简要的介绍了下psql命令行客户端的前台代码.这一次,我们来看看后台的代码吧. 十分不好意思的是,上篇博客我们只说明了前台登陆的代码,没有介绍前台登陆过程中,后台是如何工作的.即:后台接到前台的连接请求后发生了什么?调用了哪些函数?启动了哪些进程? 那么,我们就先讲讲后台的工作流程吧. 1.postgresql后台工作流程 这里首先我们要知道postgresql是典型的"Server/Client"的模式.即服务器后台有一个主进程(postmaster),该进程根据客户端的连接…
本次测试基与PostgreSQL 10.x版本 创建用户 [postgres@rtm2 data]$ /opt/pgsql-10/bin/createuser rentaomin [postgres@rtm2 data]$ 登陆psql查询创建的用户 postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------…
JSON 可谓风靡互联网,在数据交换使用上,其优势特别明显,其结构简洁.可读易读.形式灵活.很多 API 接口的数据都采用 JSON 来表示. PostgreSQL 对 JSON 提供了良好的支持.具体的相关函数可参考:JSON类型和函数 从使用的角度而言,个人觉得常见的应用场景为: 读取单个 JSON 的属性值 遍历单个 JSON 的所有属性 遍历一个 JSON 数组 创建一个 JSON 作为返回值 之所以仅这些简单的场景,原因在于,在应用中使用高级语言处理 JSON 与在数据库中使用那些高级…
问题的提出 在项目中,有些表的记录增长非常快,记录数过大时会使得查询变得困难,导致整个数据库处理性能下降.此时,我们会考虑按一定的规则进行分表存储. 常用的分表方式是按时间周期,如每月一张,每天一张等.当每月或每天首条记录到达时,根据表结构创建该周期为后缀的表进行存储. 相关考虑 这其中主要考虑两个问题: (1)如何复制表 采用分表机制,通常会建立一个模板表.所谓模板表,是只定义结构不存储数据的,也可称之为类表,而分表,通常会以增加后缀的方式命名,如 log_201901,分表实际存储数据,可称…