时序数据库应用_tsdb时序数据库

时序数据库应用_tsdb时序数据库前言mysql可能大家都用的比较多且普遍,最近1年在使用PostgreSql,其大体DML语句与mysql类似,只是部分DDL语句有些区别,写一篇文章给正在应用该数据库或者准备选型该数据库的朋友,分享下使用方式与心得PostgreSqlPostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言

        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语句有些区别,希望文章对您有所帮助

原创,请勿转载,欢迎转发,分享知识,快乐工作

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188838.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月15日 下午2:01
下一篇 2026年4月15日 下午2:07


相关推荐

  • date类和calendar类的区别_java类中可以定义类吗

    date类和calendar类的区别_java类中可以定义类吗Date类在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。1、使用Date类代表当前系统时间                  Dated=newDate();                  System.out.pr

    2025年12月7日
    5
  • 最全的AI插件Astute Graphics 2020全系列[通俗易懂]

    最全的AI插件Astute Graphics 2020全系列[通俗易懂]AstuteGraphics2020全系列AI插件Mac版包含了AstuteGraphics出品的全部AI插件,包含18个常用辅助功能,可以帮助用户提高平面和矢量设计的效率,不断提高你的设计工作流程。让图像处理工作更快速高效。完美兼容AdobeIllustrator2018–2020,有需要的用户不要错过哦!AstuteGraphics全系列ai插件安装教程安装AstuteGraphics全系列ai插件之前请先安装AdobeIllustratorcc2020,在AI中

    2022年5月7日
    1.1K
  • mongodb启动以及基本命令操作

    mongodb启动以及基本命令操作monggodb 启动以及基本命令操作介绍 MongoDB 是一个基于分布式文件存储 1 的数据库 由 C 语言编写 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB 是一个介于关系数据库和非关系数据库之间的产品 是非关系数据库当中功能最丰富 最像关系数据库的 它支持的数据结构非常松散 是类似 json 的 bson 格式 因此可以存储比较复杂的数据类型 Mongo 最大的特点是它支持的查询语言非常强大 其语法有点类似于面向对象的查询语言 几乎可以实现类似关系数据库单表查询的绝大部分功能

    2026年3月19日
    2
  • folly SpinLock源码分析

    folly SpinLock源码分析follySpinLoc 源码分析概述 SpinLock 是对自旋锁的简单实现 因为 SpinLock 类仅仅是对 MicroSpinLoc 的简单包装 所以本文主要讲述 MicroSpinLoc 的实现 后者的实现文件是 folly synchronizat MicroSpinLoc h 设计 MicroSpinLoc 唯一的数据成员就是一个 uint8 t 它被作为一个值或为 FREE 或为 LOCKED 的原子变量使用 structMicroS enum FREE 0

    2026年3月16日
    2
  • SPPNet(2015)

    SPPNet(2015)introductionRCNN首次将卷积操作引入检测领域用于提取特征,然而现有的深度卷积网络需要输入固定尺寸的图片,这个需求可能会导致对于任意scale/size的图片的识别精确度下降。【**深度卷积神经网络由卷积层和全连接层组成,卷积层对于任意大小的图片都可以进行卷积运算提取特征,输出任意大小的特征映射,而全连接层由于本身的性质需要输入固定大小的特征尺度,所以固定尺寸的需求来自于FC层,即使对输入图片进行裁剪、扭曲等变换,调整到统一的size,也会导致原图有不同程度失真、识别精度受到影响**】SP.

    2022年5月11日
    29
  • could not initialize proxy – no Session

    could not initialize proxy – no Session

    2021年8月13日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号