当前位置: 首页 > news >正文

windows下postgresql安装timescaledb

    timescaledb是一个时序数据库,可以创建超表hypertable。它并不是一个独立的数据库,它依赖于postgresql,目前相当于postgresql的一个插件或者扩展。

    要安装timescaledb,需要先安装postgresql。

    这里安装的postgresql是12.14版本,下载地址:https://get.enterprisedb.com/postgresql/postgresql-12.14-1-windows-x64-binaries.zip

    timescaledb是2.10.1版本,下载地址:https://github.com/timescale/timescaledb/releases/tag/2.10.1 

    这里为了配合postgresql版本,我们选择第一个下载项:

    前面下载的postgresql是免安装版本,直接解压到系统中的d:/tools目录下,目录结构如下:

    这里本来没有data目录的,我们需要手动创建。 

    初始化postgresql,进入postgresql安装目录,打开命令行:

bin\initdb -D data

    这一步会把数据文件生成在data目录,并且生成配置文件postgresql.conf 。

   . 

    到这里,postgresql基本就可以使用了, 免安装版本很省事。

    ==========

    接着就是timescaledb的安装,简单的安装,就是执行timescaledb目录下的setup.exe。这种方式需要设置postgresql环境变量,主要如下4个:

    PGHOME: D:\tools\pgsql

    PGDATA:   D:\tools\pgsql\data

    PGLIB:       D:\tools\pgsql\lib

    Path:          D:\tools\pgsql\bin;%Path%

    这种安装方式,本质上还是替换一些文件,如下所示timescaledb解压之后的目录结构:

    在执行timescaledb-tune.exe的时候,把其中三个动态库文件加入到了postgresql安装目录下的lib目录,把其余control和sql文件加入到了share/extension目录,最后对postgresql.conf进行了简单配置。

    还有一种安装方式就是上面提到的手动移动文件的办法:

    1、把标红的三个动态库文件timescaledb.dll,timescaledb-2.10.1.dll,timescaledb-tsl-2.10.1.dll文件拷贝到lib目录。

     2、移动标绿的文件到share/extension目录。

     3、修改postgresql.conf文件,把shared_preload_libraries="timescaledb"加上。这个配置shared_preload_libraries=""默认是注释的,并且为空,我们要安装timescaledb就把他配置上。

     替换完成,就启动postgresql。

D:\tools\pgsql>bin\pg_ctl.exe -D data -l pgsql.log start
等待服务器进程启动 .... 完成
服务器进程已经启动

    我们使用命令行进入postgresql,默认用户是系统用户名,我们进入postgres数据库。

D:\tools\pgsql>bin\psql postgres
psql (12.14)
输入 "help" 来获取帮助信息.postgres=# create database test;
CREATE DATABASE
postgres=# \l数据库列表名称    |    拥有者     | 字元编码 |            校对规则            |             Ctype              |            存 取权限
-----------+---------------+----------+--------------------------------+--------------------------------+---------------------------------postgres  | Administrator | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |template0 | Administrator | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 | =c/Administrator               +|               |          |                                |                                | Administrator=CTc/Administratortemplate1 | Administrator | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 | =c/Administrator               +|               |          |                                |                                | Administrator=CTc/Administratortest      | Administrator | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |
(4 行记录)postgres=# \c test
您现在已经连接到数据库 "test",用户 "Administrator".
test=# \dx已安装扩展列表名称   | 版本 |  架构模式  |             描述
---------+------+------------+------------------------------plpgsql | 1.0  | pg_catalog | PL/pgSQL procedural language
(1 行记录)

    创建了test数据库,我们看了扩展只有plpgsql。

    接着,我们创建timescaledb扩展。

test=# create extension timescaledb;
警告:
WELCOME TO_____ _                               _     ____________
|_   _(_)                             | |    |  _  \ ___ \| |  _ _ __ ___   ___  ___  ___ __ _| | ___| | | | |_/ /| | | |  _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \| | | | | | | | |  __/\__ \ (_| (_| | |  __/ |/ /| |_/ /|_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/Running version 2.10.1
For more information on TimescaleDB, please visit the following links:1. Getting started: https://docs.timescale.com/timescaledb/latest/getting-started2. API reference documentation: https://docs.timescale.com/api/latest3. How TimescaleDB is designed: https://docs.timescale.com/timescaledb/latest/overview/core-conceptsNote: TimescaleDB collects anonymous reports to better understand and assist our users.
For more information and how to disable, please see our docs https://docs.timescale.com/timescaledb/latest/how-to-guides/configuration/telemetry.CREATE EXTENSION
test=# \dx已安装扩展列表名称     |  版本  |  架构模式  |                               描述
-------------+--------+------------+-------------------------------------------------------------------plpgsql     | 1.0    | pg_catalog | PL/pgSQL procedural languagetimescaledb | 2.10.1 | public     | Enables scalable inserts and complex queries for time-series data
(2 行记录)

   到这里,我们基本就可以认为timescaledb安装成功。 

    这种免安装版本,基本没有什么配置,就是执行几个简单的命令,初始化数据库,启动数据库,创建扩展。在安装timescaledb的时候,手动添加文件到postgresql安装目录中,也从安装的角度感受到了timescaledb确实依赖postgresql,而且它相当于一个插件,有没有,对postgresql本身影响不大,如果timescaledb安装失败,最多就是创建timescaledb扩展的时候可能会报错。

    最后,我们通过pgAdmin可以看到有了timescaledb扩展的test数据库中的函数:

   create_hypertable就在其中。时序数据库最主要就是利用这个函数来创建超表。 

http://www.lryc.cn/news/57898.html

相关文章:

  • Linux系统常用命令大全
  • 月报总结|Moonbeam 3月份大事一览
  • 多功能料理锅语音播放芯片——NV040C
  • vue23自定义svg图标组件
  • 相机雷达时间同步(基于ROS)
  • 素数环PrimeRing [3*]
  • mongodb 连接池配置
  • 数据在内存中的存储(深度剖析)
  • python 实现二叉搜索树的方法有哪些?
  • ORM概述
  • 程序员必知必会7种UML图(类图、序列图、组件图、部署图、用例图、状态图和活动图)画法盘点
  • 基于asp的搜索引擎开发和实现
  • 代码随想录刷题-字符串-实现 strStr()
  • 前端已死?金三银四?你收到offer了吗?
  • C生万物 | 十分钟带你学会位段相关知识
  • Spring Boot基础学习之(十):修改员工的信息
  • 闭关十几天,我完成了我的毕业设计
  • 认识rust的项目管理工具--cargo
  • 面试常问的Linux之 I/O 复用
  • MySQL-binlog+dump备份还原
  • 互联网络-单级互联网络
  • 上海亚商投顾:沪指四连阳重回3300点 中字头个股再发力
  • LeetCode:150. 逆波兰表达式求值—栈
  • C/C++每日一练(20230410) 二叉树专场(4)
  • 策化整理1
  • 【服务通信自定义srv调用3----客户端的优化】
  • React跨域解决方案
  • 内存五区的概念,内存池技术的诞生。
  • 力扣:字符串中的第一个唯一字符(C++实现)
  • 攻防世界 favorite_number mfw、[BJDCTF2020]ZJCTF,不过如此