查看原文
其他

Pigsty v1.1 发布/新功能介绍

Vonng 非法加冯 2023-08-11

好消息,好消息,时隔一月,开箱即用的开源PostgreSQL发行版 —— Pigsty  正式发布v1.1版本!v1.1带来了一些非常不错的特性,主要是关于基础设施的(毕竟部署好的数据库没人想去动它)。以下是更新摘要。

全新的首页

一直以来,Grafana监控系统中的Home Dashboard都扮演着Pigsty“主页”的角色,现在Pigsty终于有一个看上去还不错的独立的主页啦。如果想知道主页是什么样子,可以访问公开演示:http://home.pigsty.cc

比较熟悉Pigsty的用户可能一下子就能看出来,这不就是文档站抽出来改了一改吗?哈哈是的,这个首页就是一个本地版的文档站,由默认的 Nginx 提供服务。

服务导航

这个主页提供了前往Pigsty各个服务组件的导航,包括以前就有的:Consul, Grafana, Prometheus, AlertManager,以及在1.1中新引入的 PGWebJupyter Lab。您可以直接点击首页正中的组件名称/URL,或通过导航栏右上角的Service下拉菜单进入。

监控导航

首页现在也可以呈现Pigsty部署中的集群与实例(可选),并提供到具体集群、实例的监控首页,流量的管控界面的的直接跳转。

应用导航

右上角的App下拉选单将成为Pigsty扩展功能的入口,在1.1中,Pigsty自带了几个实用而有趣的应用。这些应用都可以通过配置选项添加。

本地文档

在Pigsty1.1中,您可以直接从Pigsty首页访问本地离线文档,包括中英双语。


Jupyter Lab

如果您曾使用Python进行数据分析,那么Jupyter一定不会陌生。Pigsty v1.0.0打包了Jupyter Lab软件包,而v1.1则更进一步,将其放入原生支持中。在演示与个人配置模板中,Jupyter Lab默认启用,在生产环境部署中则默认不启用。

您可以通过Jupyter Notebook,高效,敏捷地提取数据,处理、分析、转换、并进行可视化,组合使用Python与SQL的强大能力。(当然您也可以继续使用Pigsty提供的Grafana与Echarts进行可视化)

当然,强大与便利往往也蕴涵着风险。Jupyter执行任意代码的能力对于生产环境仍然是一个过于冒险的配置,因此默认不会在生产环境配置模板中启用。


PGWeb

作为一个开箱即用的数据库发行版,提供一个开箱即用的图形化客户端工具也是非常重要的。PGWEB是一个使用Go编写的,小巧的,基于浏览器的Postgres图形客户端

与Jupyter类似,PGWEB在演示与个人配置模板中默认启用,在生产环境部署中则默认不启用。但PGWEB要求用户拥有访问数据库的连接串,因此相对安全,可以用于生产环境中个人用户查询少量数据的场景。

用户可以浏览数据库中的模式、对象。快速浏览表中的数据,执行查询等。


PEV2

Pev2是一个实用的执行计划分析器,可以把PostgreSQL查询EXPLAIN的结果转换为一颗直观的执行计划树。

这个工具对于优化慢查询,分析auto_explain 结果都非常好用。


PGBadger

PGBADGER是一个非常好用的Postgres日志分析组件,可以从CSV日志中快速生成精美全面的分析报告。

使用bin/pglog-summary [ip] [date] 即可拉取特定节点特定日期的日志,并创建日志分析报告。

为该命令添加Crontab,即可每天、或准实时地自动生成数据库运行报表。



软件更新

PostgreSQL 14 已经正式发布了,Pigsty v1.1也第一时间进行了跟进与支持。pigsty-pg14 模板已经可以在生产环境中创建默认版本为14的PostgreSQL数据库了。但因为PostgreSQL的一个重要三方扩展TimescaleDB尚未正式支持PG14 (预计时间10-30),因此PG14还不是Pigsty的默认数据库版本。

Pigsty将于 v1.2 进行默认PG版本升级,将默认数据库版本升级为PG14。


此外,其他软件也都有升级:

  • postgres 升级至 v13.4

  • pgbouncer 升级至 v1.16 (新增2监控指标)

  • grafana 升级至 v8.1.4

  • prometheus 升级至 v2.2.29

  • node_exporter 升级至 v1.2.2

  • haproxy 升级至 v2.1.1

  • consul 升级至 v1.10.2

  • vip-manager 升级至 v1.0.1


新的剧本:数据库迁移

Pigsty内置了一个 数据库在线迁移的辅助脚本:pgsql-migration.yml ,提供了一个开箱即用的基于逻辑复制的不停机数据库迁移方案。

填入源集群与宿集群相关信息,该剧本即会自动创建出迁移中所需的脚本,在数据库迁移时只需要依次执行即可,包括:





新的应用:苹果隐私日志可视化

最后,Pigsty的自带的默认演示应用里又多了一个:苹果应用隐私日志可视化(APPLOG),您可以在iOS15系统中导出应用程序访问隐私的记录,并在此应用中进行可视化,细节可以参考公众号前一篇文章 《 微信读相册这点事 》。

图:微信大清早偷偷访问我的相册长达4分钟


一些有趣的小功能

部署好的数据库没人想去动它,但Pigsty还是在v1.1加入了一个数据库实例上的新特性:Dummy file。原理很简单,创建一个一定尺寸(例如1~4GB)的/pg/dummy,这样当出现磁盘写满的故障时(通常很多操作都无法正常完成了),只需要将其删除,就可以释放出一定的应急空间来。

这个功能非常实用,但对于已经创建好的数据库实例而言,手动ddfilealloc一个就可以与新版本保持一致,或者彻底无视也没有关系。

此外,v1.1中还添加了 promscale 的安装包,这是一个有趣的组件,可以将Prometheus的时序数据存储替换为TimescaleDB(Postgres),文档中的教程也更新了如何替换的细节。

Enjoy!


其他

此外,还有一些Bug与小问题的修复,文档的例行完善等

变更细节


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存