给Homeassistant更换PostgreSQL数据库

一、为什么要更换

        目的是为了获得更好的体验。参照大神言传和百度资料,HomeAssistant默认的数据库是sqlite,随着使用时间的增加,数据库文件会变得越来越大,随之而来的问题就是查看日志和历史的速度也会变得越来越慢,尤其是一些接入设备较多的系统,影响了使用体验,极不符合极客精神。

二、更换成哪种数据库

        选择一般有两种,一种是MySQL数据库,另一种是PostgreSQL数据库,很多大神制作了教程(要感谢ITcommander和一些未留下姓名的大神,他们的教程给了我很多启发),详细介绍了方法步骤,方便了大家操作。这两种数据库,到底哪个更好呢?我不知道,因为我没有成功更换MySQL,没有对比,当然就没有发言权。但是有大神强烈推荐使用 PostgreSQL,据说内存占用更少,系统负载更低。

三、怎么更换PostgreSQL数据库

        网上有很多在树莓派上进行操作的教程,使用了很多命令进行安装和配置,这种操作对有一定基础的人来说不难,但对像我这样的“码盲”来说,很不友好,甚至头疼不已。因为我自己在安装过程中,遭遇了很多问题,比如命令无法在群晖环境中使用,命令无效,无法正常运行镜像等。相信很多刚入坑的小伙伴,一定和我一样。但是,既然选择了折腾这条道路,就一定要坚定不移的走下去,特别是当你跟老婆申请经费购买设备后,如果不能及时把这些设备使用起来,让她老人家及时得到应有的获得感,那么你很快就要没得玩了。下面,我介绍下方法步骤,基本上都是图形界面,便于大家动手操作。其中不足及错误之处,还请大神们指正。

        安装环境:DSM6.2,移动光宽带

    (一)下载镜像postgres和adminer

        postgres是数据库镜像,adminer是管理数据库的镜像。进入docker注册表,分别搜索,进行下载,需要注意的是,我下载的是官方的,没有经过修改。

给Homeassistant更换PostgreSQL数据库

给Homeassistant更换PostgreSQL数据库

(二)安装postgres

        进入docker,选中下载好的postgres镜像,单击启动,进入创建容器界面,修改容器名称,单击高级设置,然后对“高级设置”“端口设置”“环境”等三个选项进行设置,重点注意配置“环境”时,需要增加两个变量,具体参数看图片,设置完成后单击应用、下一步即可。

给Homeassistant更换PostgreSQL数据库

给Homeassistant更换PostgreSQL数据库

给Homeassistant更换PostgreSQL数据库

给Homeassistant更换PostgreSQL数据库

(三)安装adminer

        进入docker,选中下载好的adminer镜像,单击启动,进入创建容器界面,修改容器名称,单击高级设置,然后对“高级设置”“端口设置”选项进行设置,设置完成后单击应用、下一步即可。

给Homeassistant更换PostgreSQL数据库

给Homeassistant更换PostgreSQL数据库

给Homeassistant更换PostgreSQL数据库

    (四)创建数据库homeassistant

        1.登陆adminer

        在地址栏输入你的群晖IP:8080(与前边配置adminer的本地端口号保持一直),进入adminer登陆界面。

        系统:选择postgreSQL

        服务器:群晖IP:15432(与前边配置postgres的本地端口号保持一直)

        用户名:postgres(这个是默认的)

        密码:就是前边配置postgres环境变量时设置的密码

        数据库:postgres(这个也是默认的)

        填写完成后单击登录。

给Homeassistant更换PostgreSQL数据库

    2.创建数据库homeassistan

        按照图片所示,进行创建,然后退出登陆。

给Homeassistant更换PostgreSQL数据库

给Homeassistant更换PostgreSQL数据库

    (四)修改configuration.yaml文件

        找到homeassistant下的configuration.yaml文件,添加如下命令保存,删除原来的数据库文件,重启Homeassistant。如果再没有原来的数据库文件生成,表示基本成功。需要注意的是“db_url”前面有两个空格,后面有一个空格,大神们说yaml文件对空格很敏感。

recorder:

    db_url: postgres://postgres:登陆数据库的密码@群晖IP:15432/homeassistant

给Homeassistant更换PostgreSQL数据库

四、更换后的效果

        如丝般顺滑的体验,你值得拥有,赶快动手吧!

                                                                                                                              2020年11月12日

   

版权声明:本文源自 网络, 于,由 楠木轩 整理发布,共 1841 字。

转载请注明: 给Homeassistant更换PostgreSQL数据库 - 楠木轩