时序数据库之PostgreSql
前言
mysql可能大家都用的比较多且普遍,最近1年在使用PostgreSql,其大体DML语句与mysql类似,只是部分DDL语句有些区别,写一篇文章给正在应用该数据库或者准备选型该数据库的朋友,分享下使用方式与心得
PostgreSql
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。 —— 引自搜索引擎百科
软件下载
数据库服务(各版本):https://www.postgresql.org/ftp/source/
可视化Client(推荐使用postico,比较好用):Postico首页、文档和下载 - PostgreSQL 客户端 - OSCHINA - 中文开源技术交流社区
语法
整体使用感觉是有mysql经验的朋友直接上手就可以,只不过有些特殊的语句我罗列下(常用)
1. 使用终端命令行客户端链接数据库
psql -h 数据库服务器ip -d 库名 -U 用户名
2.DDL部分指令
\c testdatabase 创建库
\dn 列出所有
\l 库列表
\dnS 列出所有模式 S代表各个schema
\d tablename 列出表详情 类似于mysql的show create table
3.时序分片
-- 建表语句
CREATE TABLE info(
type varchar(15) NOT NULL,
info varchar(20) NOT NULL,
amount decimal(36, 18) NOT NULL,
ts timestamp without time zone NOT NULL,
CONSTRAINT info_ukey UNIQUE (type, info, ts)
) WITH (OIDS = FALSE) TABLESPACE default;-- 时序+分片
SELECT create_hypertable('info', 'ts', chunk_time_interval => interval '1 weeks');
SELECT add_dimension('info', 'type', number_partitions => 5);
使用 create_hypertable 函数将 postgres 标准表转化为 hypertable
create_hypertable 有三个参数【表名、分区列(一般为 TIMESTAMPTZ 类型)、时间间隔】
add_dimension函数在info表的type字段上添加5个分区的维度
两个语句共同作用的感觉可以抽象一下,像是切豆腐,横着按照1厘米切了N刀后,再竖着切了5刀
4.导出/入表
(1)以csv文件导出info表
\COPY (select * from info) TO /root/info.csv DELIMITER ',' CSV HEADER
(2)从csv文件导入info表
\COPY public.info FROM /root/info.csv DELIMITER ',' CSV HEADER
备份还有一种方式,需要用到pg_dump
(1)导出testdatabase库下的public schema下的所有表的结构到/tmp/testdb_public.sql文件
(只导出结构,添加--s,代表schema)
pg_dump "host=xxx.xx.xx.xx hostaddr=xxx.xx.xx.xx port=5432 user=postgres password=xxxxx dbname=testdatabase" --table=public.* --s > /tmp/testdb_public.sql;
(2)区别于(1),导出insert语句
pg_dump "host=xxx.xx.xx.xx hostaddr=xxx.xx.xx.xx port=5432 user=postgres password=xxxxx dbname=testdatabase" --table=public.info --column-inserts > /tmp/testdb_public_info.sql;
其他pg_dump相关的指令就不做列举了,需要的朋友可以搜一下,功能还是很强大的,但是需要注意的点是,针对不同的pg版本,可能导出内容不尽相同
结语
作为一款开源免费的数据库,在时序处理上表现是比较出色的,如果有针对于时间维度的比较重的表需要做一些优化,可以考虑引入时序数据库的选型,而且大体DML语句与mysql类似,只是部分DDL语句有些区别,希望文章对您有所帮助
原创,请勿转载,欢迎转发,分享知识,快乐工作
时序数据库之PostgreSql相关推荐
- 基于PostgreSQL的时序数据库TimescaleDB
作者:杭州美创科技有限公司 什么是时序数据库?顾名思义,用于处理按照时间变化顺序的数据的数据库即为时序数据库(time-series database),时序数据库专门优化处理带时间标签的数据,为什么 ...
- 基于PostgreSQL的时序数据库TimescaleDB(上)
什么是时序数据库?顾名思义,用于处理按照时间变化顺序的数据的数据库即为时序数据库(time-series database). 时序数据库专门优化处理带时间标签的数据,为什么会衍生时序数据库这一种新趋 ...
- 基于PostgreSQL的时序数据库TimescaleDB(下)
上一期我们介绍了一些关于时序数据库的概念和发展以及TimescaleDB的功能特性,本期就来介绍如何安装使用TimescaleDB. 一.前期准备: 操作系统环境:CentOS Linux relea ...
- sql server 2008安装_性能不够?基于时序数据库的Zabbix 5.2安装指南
我们往往在谈论zabbix的优缺点的时候,提到最多的依然还是数据库(默认采用关系型数据库),由于关系型数据库所有的读写都是采用sql语句解析,一但并发过大或者数据量过大,处理能力就显得捉襟见肘,这也是 ...
- 【万字干货】OpenMetric与时序数据库存储模型分析
摘要:解读OpenMetric规范和指标的模型定义基础上,结合当下主流的时序数据库核心存储及处理技术,尝试让用户(架构师.开发者或使用者)结合自身业务场景选择合适的产品,消除技术选型的困惑. 本文分享 ...
- 从前世今生聊一聊,大厂为啥亲睐时序数据库
摘要:本文会从时序数据库的基本概念.应用场景.需求与能力等方面一一展开,带你了解时序数据库的前世今生. 时序数据库忽然火了起来.Facebook开源了beringei时序数据库,基于PostgreSQ ...
- field list什么意思_时序数据库有什么不一样?
前言 如今在万物互联(IoT)兴起的推动下,时间序列数据(衡量事物随时间变化的数据)应用和场景激增,是增长最快的数据类型之一,比如监控指标数据,传感器数据,日志,财务分析等等:时间序列数据具有特定的特 ...
- 时序数据库timescaleDB安装
参考链接 :时序数据库timescaleDB安装 :http://www.lwops.cn/thread-300-1-1.html 本环境在Centos7.5采用编译安装的方式,主要介绍Postgre ...
- 时序数据库分析 - TimescaleDB时序数据库介绍
背景 随着物联网的发展,时序数据库的需求越来越多,比如水文监控.工厂的设备监控.国家安全相关的数据监控.通讯监控.金融行业指标数据.传感器数据等. 在互联网行业中,也有着非常多的时序数据,例如用户访问 ...
最新文章
- java语言仅支持单重继承_java语言程序设计基础篇习题_复习题_第十一章
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十八) 完美精灵之八面玲珑(WPF Only)②...
- 重置忘记的mysql root密码
- 使用fyne绘制一个交通图标
- json的格式和简单例子
- 《编译原理》第三章知识点
- JSP的session处理
- linux识别科学计数法,Linux下科学计数法(e)转化为数字的方法 [shell中几种数字计算说明]...
- 设计灵感|音乐播放器App界面如何设计?
- python实例代码爬虫_python 网络爬虫实例代码
- java离职证明模板word_离职证明模板Word免费版下载
- 由JavaScript版迷宫游戏引出Java版迷宫地图生成器
- 山东省农村信用计算机社考试,山东省农村信用社计算机专业考试题.doc
- 抢票显示服务器失败是什么原因,抢票网站的手机核验失败原因
- 活动二维码怎么制作?如何将活动内容做成二维码图片?
- 从 0 开始最详细的微信公众号接入 AI
- SqlServer数据库 时间类型字段添加默认值 设置时间格式
- 天空卫士受邀成为四川省大数据发展研究会会长单位
- 用于大数据的星际文件系统
- sql要学mysql还是php,MySQL_与MSSQL对比学习MYSQL的心得(一)--基本语法,这一期主要是学习MYSQL的基本 - phpStudy...
热门文章
- wqs二分中二分条件细节的思考
- 计算机语言dml是什么意思,dml(什么是dml语句)
- tp交换机管理页面_TP-Link楼道交换机管理软件官方版
- 贾跃亭旗下FF年亏5.2亿美元:恒大持股20.5% 退市危机解除
- 网站f12怎么查询服务器,网页f12查看服务器
- 华硕电脑熄屏后,搜索不到无限网络,无法连接WiFi
- tp 双击唤醒 最终方案 实现流程
- Ubuntu18中触摸屏双击失效
- JS 字符串截取、字符串与数字的转换
- pve 加大local容量_蜗牛星际PVE+DSM升级记