『瀚思彼岸』» 智能家居技术论坛

标题: HA更换TimescaleDB时序数据库 [打印本页]

作者: natic    时间: 2019-8-5 23:36
标题: HA更换TimescaleDB时序数据库
本帖最后由 natic 于 2021-4-2 08:54 编辑

众所周知HA自带的sqlite非常卡,对于物联网使用场景,时序数据库是一个非常好的选择


TimescaleDB 是一个开源数据库Postgres的一个插件,可以大幅提高时序数据的读写性能,适合物联网传感器使用场景



N1等Docker安装方式


直接输入docker run命令即可


docker run --name ha-postgres --restart=always -p 5432:5432 -e TZ=Asia/Shanghai -e POSTGRES_DB=hass -e POSTGRES_USER=hass -e POSTGRES_PASSWORD=hass -e PGDATA=/var/lib/postgresql/data/pgdata -v /home/docker:/var/lib/postgresql/data timescale/timescaledb:latest-pg12

可以更改的参数





































名称 参数值 说明
端口 -p -p 5432:5432 左边为本机端口
数据库名 POSTGRES_DB
用户名 POSTGRES_USER
密码 POSTGRES_PASSWORD
数据文件映射 -v /your_path:/var/lib/postgresql/data your_path填入本机路径,如果需要加载docker run 后面即可

群晖使用Docker安装方式


1, 在群晖Docker - 注册表 搜索timescaledb,双击下载

[attach]17477[/attach]


2,映像中找到刚才下载的镜像,等待下载完成,双击启动

[attach]17478[/attach]


3, 点击高级设置

[attach]17479[/attach]


4,配置端口映射,本地填入5432, 如果端口冲突可以填入别的,到时候配置ha的时候写上去就行

[attach]17480[/attach]


5, 设置环境变量(数据库参数配置), 分别是数据库名/用户/密码,可以根据自己的需要填写,点击应用

[attach]17481[/attach]


6,点击下一步

[attach]17482[/attach]


7,点击应用,启动容器

[attach]17483[/attach]


8,去容器查看是否启动

[attach]17484[/attach]


ha配置configuration.yaml


格式如下,可以根据上面的配置更改

postgresql://user:password@SERVER_IP/DB_NAME


recorder:
  purge_keep_days: 5
  db_url: postgresql://hass:hass@ip:5432/hass

重启ha即可














作者: chenquanhao    时间: 2019-8-6 01:10
就奇怪ha官方为什么一直不改数据库
作者: natic    时间: 2019-8-6 01:23
chenquanhao 发表于 2019-8-6 01:10
就奇怪ha官方为什么一直不改数据库

应该是为了简化安装吧
作者: xieahui    时间: 2019-8-6 08:45
666 去改个试试好用不!  
作者: natic    时间: 2019-8-6 08:53
xieahui 发表于 2019-8-6 08:45
666 去改个试试好用不!

states, events表100w数据量MariaDB就已经很卡了,个人觉得PG会快不少
作者: RobinVP    时间: 2019-8-6 09:55
natic 发表于 2019-8-6 08:53
states, events表100w数据量MariaDB就已经很卡了,个人觉得PG会快不少

已经换了pg一个多月表示,确实快一点,但也没有快多少
作者: telanx    时间: 2019-8-6 10:10
装nextcloud,同时也装上了MariaDB,于是准备一物多用,就把HA也link上了。。。
竟然卡。。。
看起来,得上树莓4+SSD了
作者: natic    时间: 2019-8-6 10:11
telanx 发表于 2019-8-6 10:10
装nextcloud,同时也装上了MariaDB,于是准备一物多用,就把HA也link上了。。。
竟然卡。。。
看起来,得上 ...

折腾无止境
作者: ghostist    时间: 2019-8-6 10:26
我自带数据库都3G了   让他记的不记  不让记的瞎记 懒得折腾了
作者: yylwhy    时间: 2019-8-6 22:11
收藏备用/////
作者: lxiaoyang    时间: 2019-8-7 13:57
同样备用
作者: zxjack    时间: 2019-8-8 07:43
收藏备用/////
作者: guitengyue    时间: 2019-8-8 11:26
太感谢!之前改过DB,卡的要死,现在试试LZ这个
作者: houhd    时间: 2019-8-10 12:12
数据一多,其实差不多卡。
作者: bg9ega    时间: 2019-8-11 11:10
这是个纠结的问题
自带SQLite轻量但数据一多查询卡
插件MariaDB太占资源
用群晖的数据库影响群晖休眠耗费Raid
我最终用回自带SQLite了,使用白名单只存储有用的数据,并且只保留3天。
作者: l24195656    时间: 2019-8-13 22:17
跟着换了一下,快了不少
作者: joykg    时间: 2019-8-14 14:33
感谢分享!值得学习!
作者: linlingzi    时间: 2019-8-15 14:05
安装Postgres 困难,我的系统不知道为什么没有hassbian-config
作者: linlingzi    时间: 2019-8-15 15:05
本帖最后由 linlingzi 于 2019-8-15 16:13 编辑
linlingzi 发表于 2019-8-15 14:05
安装Postgres 困难,我的系统不知道为什么没有hassbian-config

hassbian虚拟环境安装的按照下面做,我的可以用了,速度观察
1.安装PostgreSQL 数据库软件包
apt-get update
apt-get install -y postgresql libpq-dev
2.虚拟安装的进
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/homeassistant_venv/bin/activate
pip install psycopg2
3.退出虚拟环境
sudo -u postgres createuser homeassistant
sudo -u postgres psql
ALTER USER homeassistant WITH PASSWORD 'homeassistant';
\q
4.创建数据库
sudo -u postgres createdb -O homeassistant homeassistant
如果日志不能正确显示,你可能需要这样
sudo -u postgres createdb -O homeassistant homeassistant -E UTF8

5.配置configuration.yaml
recorder:
  db_url: postgres://homeassistant:homeassistant@localhost/homeassistant


作者: yylwhy    时间: 2019-8-16 15:12
bg9ega 发表于 2019-8-11 11:10
这是个纠结的问题
自带SQLite轻量但数据一多查询卡
插件MariaDB太占资源

如何设置储存3天。和白名单
作者: bg9ega    时间: 2019-8-17 23:28
yylwhy 发表于 2019-8-16 15:12
如何设置储存3天。和白名单

https://www.home-assistant.io/components/recorder/
作者: guitengyue    时间: 2019-8-22 10:11
本帖最后由 guitengyue 于 2019-8-22 10:36 编辑

奇怪,就是连不上。。
recorder:
    db_url: postgresql://hass:[email protected]:5433/hass

192.168.1.112是群晖服务器
端口也没错啊,我用pgadmin能连的上,用户名、密码和数据库也是安装lz设置,都是hass。。。
重启HA,就报错[attach]17844[/attach]



作者: natic    时间: 2019-8-22 10:35
guitengyue 发表于 2019-8-22 10:11
奇怪,就是连不上。。
recorder:
    db_url: postgresql://hass:[email protected]:5433/hass

ha报啥错

作者: guitengyue    时间: 2019-8-22 10:43
natic 发表于 2019-8-22 10:35
ha报啥错

上图了,在#22
作者: natic    时间: 2019-8-22 12:14
guitengyue 发表于 2019-8-22 10:43
上图了,在#22

recorder和sun中间空一行试试
作者: guitengyue    时间: 2019-8-22 13:48
natic 发表于 2019-8-22 12:14
recorder和sun中间空一行试试

一样的。。。还是不行
作者: natic    时间: 2019-8-22 15:11
guitengyue 发表于 2019-8-22 13:48
一样的。。。还是不行

那真是奇怪了,看一下homeassistant.log报啥错
作者: guitengyue    时间: 2019-8-22 20:39
natic 发表于 2019-8-22 15:11
那真是奇怪了,看一下homeassistant.log报啥错

和版本没关系吧?我的是0.81.2
作者: guitengyue    时间: 2019-8-22 20:43
natic 发表于 2019-8-22 15:11
那真是奇怪了,看一下homeassistant.log报啥错

[attach]17895[/attach]

作者: natic    时间: 2019-8-22 20:47
guitengyue 发表于 2019-8-22 20:43

你这个是python版本的ha还是hassio的?少一个库 如果是python版本pip安装一下就行了
作者: guitengyue    时间: 2019-8-22 20:56
natic 发表于 2019-8-22 20:47
你这个是python版本的ha还是hassio的?少一个库 如果是python版本pip安装一下就行了 ...

ha,python的
我看下说明,pip需要安装啥
作者: natic    时间: 2019-8-22 21:26
guitengyue 发表于 2019-8-22 20:56
ha,python的
我看下说明,pip需要安装啥

pip install psycopg2
作者: gmshiwoge    时间: 2019-12-10 15:59
谢谢可以用解决我的难题了,今天用命令安装完启动不了 我添加映射的路径了  而路径的目录需要7777权限才可以启动的起来  
作者: hugh_jie    时间: 2020-5-9 11:44
学习学习,之前数据库老出问题
作者: 陈默000    时间: 2020-7-25 12:45
收藏了  这个是好东西

作者: a4610759    时间: 2020-8-7 20:26
本帖最后由 a4610759 于 2020-8-7 20:33 编辑

请问楼主,postgresql://hass:hass@ip:5432/hass
红色的hass,前面的是用户名。后面的是密码,是吗???-v /your_path:/var/lib/postgresql/data
这个是改绿色的吗????

作者: fung1006    时间: 2020-8-8 08:33
Hassio 能安裝?
作者: natic    时间: 2020-8-8 23:28
fung1006 发表于 2020-8-8 08:33
Hassio 能安裝?

可以呀
作者: fung1006    时间: 2020-8-10 13:02
natic 发表于 2020-8-8 23:28
可以呀

有教學吗?
作者: natic    时间: 2020-8-10 22:53
fung1006 发表于 2020-8-10 13:02
有教學吗?

hassio装MariaDB就行了
作者: guitengyue    时间: 2020-9-3 08:34
本帖最后由 guitengyue 于 2020-9-3 09:09 编辑

用了1天,为什么我感觉还是原来的快。。。。。
群晖docker和ha主机都是esxi内部直连的,这速度不应该啊点个日志,15-30s才出来,点历史,1分钟了,还没出来...怀疑是不是没做映射,导致内部docker的数据溢出了?也不知道synology默认会把docker的数据存哪里去。。。今天把这个映射了下两个文件夹,再观察看看:/home/data
:/var/lib/postgresql/data


作者: guitengyue    时间: 2020-9-3 12:44
还是老样子,大概3小时候历史状态就打不开了,单个实例的话还是能看到历史曲线的
准备试试ms sql,如果不行还是用mariadb10吧
作者: natic    时间: 2020-9-4 11:35
guitengyue 发表于 2020-9-3 12:44
还是老样子,大概3小时候历史状态就打不开了,单个实例的话还是能看到历史曲线的
准备试试ms sql,如果不行 ...

数据太多了有可能是网络或者浏览器渲染的问题,调试下试试
作者: guitengyue    时间: 2020-9-4 19:29
natic 发表于 2020-9-4 11:35
数据太多了有可能是网络或者浏览器渲染的问题,调试下试试

找到原因了,因为电表的功率因素的关系,-90左右这个值会变成一个状态记录history,然后展现的时候展现不过来了,我把这个数值删除了就好了
作者: a4610759    时间: 2020-9-6 15:48
用楼主的方法就可以连接上,使用linux直接安装就连不上。找不到原因。还是虚拟个黑裙酬和用吧。。。
作者: guitengyue    时间: 2021-3-29 23:20
a4610759 发表于 2020-9-6 15:48
用楼主的方法就可以连接上,使用linux直接安装就连不上。找不到原因。还是虚拟个黑裙酬和用吧。。。 ...

linux要配置两个东西
1. 更改postgresql.conf
listen_addresses = '*'


2. 在下面文件中添加pg_hba.conf

host all all 192.168.1.0/24  trust
作者: ufonba    时间: 2021-3-30 10:47
其实我一直好奇,是什么内容数据占据了这么大的空间




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5