发布于 2019
发布于 2018
-
PgSQL关系膨胀处理
2018-10-06 @ 管理
前言 PostgreSQL使用了MVCC作为主要并发控制技术,它有很多好处,但也会带来一些其他的影响,例如关系膨胀。关系(表与索引)膨胀会对数据库性能产生负面影响,并浪费磁盘空间。为了使PostgreSQL始终保持在最佳性能,有必要及时对膨胀的关系进行垃圾回收,并定期重建过度膨胀的关系。 在实际操作中,垃圾回收并没有那么简单,这里有一系列的问题: 关系膨胀的原因? 关系膨胀的度量? 关系膨胀的监控? 关系膨胀的处理? 本文将详细说明这些问题。 关系膨胀概述 假设某个关系实际占用存储100G, …
-
TimescaleDB快速上手
2018-09-07 @ 管理
官方网站:https://www.timescale.com 官方文档:https://docs.timescale.com/v0.9/main Github:https://github.com/timescale/timescaledb 为什么使用TimescaleDB 什么是时间序列数据? 我们一直在谈论什么是“时间序列数据”,以及与其他数据有何不同以及为什么? 许多应用程序或数据库实际上采用的是过于狭窄的视图,并将时间序列数据与特定形式的服务器度量值等同起来: Name: CPU …
-
PipelineDB快速上手
2018-09-07 @ 管理
PipelineDB安装与配置 PipelineDB可以直接通过官方rpm包安装。 加载PipelineDB需要添加动态链接库,在postgresql.conf中修改配置项并重启: shared_preload_libraries = 'pipelinedb' max_worker_processes = 128 注意如果不修改max_worker_processes会报错。其他配置都参照标准的PostgreSQL PipelineDB使用样例 —— 维基PV数据 -- 创 …
-
PgAdmin安装配置
2018-04-14 @ 管理
PgAdmin4的安装与配置 PgAdmin是一个为PostgreSQL定制设计的GUI。用起来很不错。可以以本地GUI程序或者Web服务的方式运行。因为Retina屏幕下面PgAdmin依赖的GUI组件显示效果有点问题,这里主要介绍如何以Web服务方式(Python Flask)配置运行PgAdmin4。 下载 PgAdmin可以从官方FTP下载。 postgresql网站FTP目录地址 wget …
-
Bash与psql小技巧
2018-04-07 @ 管理
一些PostgreSQL与Bash交互的技巧。 使用严格模式编写Bash脚本 使用Bash严格模式,可以避免很多无谓的错误。在Bash脚本开始的地方放上这一行很有用: set -euo pipefail -e:当程序返回非0状态码时报错退出 -u:使用未初始化的变量时报错,而不是当成NULL -o pipefail:使用Pipe中出错命令的状态码(而不是最后一个)作为整个Pipe的状态码1。 执行SQL脚本的Bash包装脚本 通过psql运行SQL脚本时,我们期望有这么两个功能: 能向脚本 …
-
PgSQL例行维护任务
2018-02-10 @ 管理
汽车需要上油,数据库也需要维护保养。 PG中的维护工作 对Pg而言,有三项比较重要的维护工作:备份、重整、清理 备份(backup):最重要的例行工作,生命线。 制作基础备份 归档增量WAL 重整(repack) 重整表与索引能消除其中的膨胀,节约空间,确保查询性能不会劣化。 清理(vacuum) 维护表与库的年龄,避免事务ID回卷故障。 更新统计数据,生成更好的执行计划。 回收死元组。节约空间,提高性能。 备份 备份可以使用pg_backrest 作为一条龙解决方案,但这 …
-
PgSQL备份恢复概览
2018-02-09 @ 管理
备份是DBA的安身立命之本,有备份,就不用慌。 备份有三种形式:SQL转储,文件系统备份,连续归档 1. SQL转储 SQL 转储方法的思想是: 创建一个由SQL命令组成的文件,服务器能利用其中的SQL命令重建与转储时状态一样的数据库。 1.1 转储 工具pg_dump、pg_dumpall用于进行SQL转储。结果输出到stdout。 pg_dump dbname > filename pg_dump dbname -f filename pg_dump是一个普通的PostgreSQL客 …