基于PostgreSQL的时序数据库TimescaleDB(下)

Posted PostgreSQLChina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于PostgreSQL的时序数据库TimescaleDB(下)相关的知识,希望对你有一定的参考价值。

 

上一期我们介绍了一些关于时序数据库的概念和发展以及TimescaleDB的功能特性,本期就来介绍如何安装使用TimescaleDB。

一、前期准备:

操作系统环境:CentOS Linux release 7.4.1708 (Core)

Cmake编译环境:需要3.4以上,本实验环境使用最新版本3.21.2

PostgreSQL软件:支持PostgreSQL 9.6.3 +,10.9 +或11.4+,本实验环境使用12.2

二、安装或升级你的Cmake版本:

卸载原有的旧版本

# yum remove cmake -y

进入cmake的官网下载对应版本的软件包:https://cmake.org/download/

这里我们直接下载3.21.2版本的二进制软件包

# wget https://github.com/Kitware/CMake/releases/download/v3.21.2/cmake-3.21.2-linux-x86_64.tar.gz

解压软件包

# tar xzvf cmake-3.21.2-linux-x86_64.tar.gz

进入解压后的目录,将bin/目录下的cmake做软链接,当然也可以直接将cmake添加到环境变量中

# ln -s /root/cmake-3.21.2-linux-x86_64/bin/cmake /usr/bin/cmake

检查cmake是否可用

 #cmake --version

cmake version 3.21.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

三、编译安装TimescaleDB软件:

从github中下载软件:https://github.com/timescale/timescaledb

解压软件包,进入解压目录,进行编译安装。

如果在编译安装PostgreSQL软件的时候没有选择安装openssl,那么可以使用/bootstrap -BUSE_OPENSSL=0进行安装,如果有选择安装openssl,就去掉参数选项,直接进行安装

# ./bootstrap && make && make install

四、配置PostgreSQL:

在postgresql.conf配置文件中修改

$ vim postgresql.conf

shared_preload_libraries = 'timescaledb'

重启数据库服务

创建一个时序数据库

$ psql

psql (12.2)

Type "help" for help.

postgres=# create database tsdb;

CREATE DATABASE

postgres=# \\c tsdb -

You are now connected to database "tsdb" as user "postgres".

tsdb=# create extension timescaledb ;

到此为止,就完成了TimescaleDB的安装步骤,可以看到得益于扩展形式的存在,安装变得非常简便,并且随着PostgreSQL软件的更新,整个基于PostgreSQL软件的TimescaleDB时序数据库也在同步更新。

五、如何使用TimescaleDB:

使用TimescaleDB库,其实就多了一步转换为超表的步骤,其它基本和操作普通的表一样

创建标准表

CREATE TABLE conditions (

  time        TIMESTAMPTZ       NOT NULL,

  location    TEXT              NOT NULL,

  temperature DOUBLE PRECISION  NULL,

  humidity    DOUBLE PRECISION  NULL

);

以时间字段作为分片字段,将标准表转换为超表

SELECT create_hypertable('conditions', 'time');

在超表中进行插入和查询操作

INSERT INTO conditions(time, location, temperature, humidity)

  VALUES (NOW(), 'office', 70.0, 50.0);
SELECT * FROM conditions ORDER BY time DESC LIMIT 100;

以上是关于基于PostgreSQL的时序数据库TimescaleDB(下)的主要内容,如果未能解决你的问题,请参考以下文章

基于PostgreSQL的时序数据库TimescaleDB(下)

几个时序数据库

几个时序数据库

[转帖]几个时序数据库

Centos7 安装 PostgreSql 14 数据库 和 timescaledb 时序库

阿里云RDS PostgreSQL时序数据的优化