Posts in 2018
  • 使用sysbench测试PostgreSQL性能

    2018年02月06日 in PG 管理

    sysbench首页:https://github.com/akopytov/sysbench 安装 二进制安装,在Mac上,使用brew安装sysbench。 brew install sysbench --with-postgresql 源代码编译(CentOS): yum -y install make automake libtool pkgconfig libaio-devel # For MySQL support, replace with mysql-devel on …

    Read more

  • 使用FIO测试磁盘性能

    2018年02月06日 in PG 管理

    Fio是一个很好用的磁盘性能测试工具,可以通过以下命令测试磁盘的读写性能。 fio --filename=/tmp/fio.data \ -direct=1 \ -iodepth=32 \ -rw=randrw \ --rwmixread=80 \ -bs=4k \ -size=1G \ -numjobs=16 \ -runtime=60 \ -group_reporting \ -name=randrw \ --output=/tmp/fio_randomrw.txt \ && …

    Read more

  • 空中换引擎 —— PostgreSQL不停机迁移数据

    2018年02月06日 in PG 管理

    通常涉及到数据迁移,常规操作都是停服务更新。不停机迁移数据是相对比较高级的操作。 不停机数据迁移在本质上,可以视作由三个操作组成: 复制:将目标表从源库逻辑复制到宿库。 改读:将应用读取路径由源库迁移到宿库上。 改写:将应用写入路径由源库迁移到宿库上。 但在实际执行中,这三个步骤可能会有不一样的表现形式。 逻辑复制 使用逻辑复制是比较稳妥的做法,也有几种不同的做法:应用层逻辑复制,数据库自带的逻辑复制(PostgreSQL 10 之后的逻辑订阅),使用第三方逻辑复制插件(例 …

    Read more

  • PG服务器日志常规配置

    2018年02月06日 in PG 管理

    建议配置PostgreSQL的日志格式为CSV,方便分析,而且可以直接导入PostgreSQL数据表中。 日志相关配置项 log_destination ='csvlog' logging_collector =on log_directory ='log' log_filename ='postgresql-%a.log' log_min_duration_statement =1000 log_checkpoints =on …

    Read more

  • 找出没用过的索引

    2018年02月04日 in PG 管理

    索引很有用, 但不是免费的。没用到的索引是一种浪费,使用以下SQL找出未使用的索引: 首先要排除用于实现约束的索引(删不得) 表达式索引(pg_index.indkey中含有0号字段) 然后找出走索引扫描的次数为0的索引(也可以换个更宽松的条件,比如扫描小于1000次的) 找出没有使用的索引 视图名称:monitor.v_bloat_indexes 计算时长:1秒,适合每天检查/手工检查,不适合频繁拉取。 验证版本:9.3 ~ 10 功能:显示当前数据库索引膨胀情况。 在版本9.3与10.4上工 …

    Read more

  • 批量配置SSH免密登录

    2018年01月07日 in PG 管理

    配置SSH是运维工作的基础,有时候还是要老生常谈一下。 生成公私钥对 理想的情况是全部通过公私钥认证,从本地免密码直接连接所有数据库机器。最好不要使用密码认证。 首先,使用ssh-keygen生成公私钥对 ssh-keygen -t rsa 注意权限问题,ssh内文件的权限应当设置为0600,.ssh目录的权限应当设置为0700,设置失当会导致免密登录无法使用。 配置ssh config穿透跳板机 把User换成自己的名字。放入.ssh/config,这里给出了有跳板机环境下配置生产网数据库免密 …

    Read more

  • Wireshark抓包分析协议

    2018年01月05日 in PG 管理

    Wireshark是一个很有用的工具,特别适合用来分析网络协议。 这里简单介绍使用Wireshark抓包分析PostgreSQL协议的方法。 假设调试本地PostgreSQL实例:127.0.0.1:5432 快速开始 下载并安装Wireshark:下载地址 选择要抓包的网卡,如果是本地测试选择lo0即可。 添加抓包过滤器,如果PostgreSQL使用默认设置,使用port 5432即可。 开始抓包 添加显示过滤器pgsql,这样就可以滤除无关的TCP协议报文。 然后就可以执行一些操作,观察并分 …

    Read more

Posts in 2017
  • file_fdw妙用无穷——从数据库读取系统信息

    2017年12月01日 in PG 管理

    PostgreSQL是最先进的开源数据库,其中一个非常给力的特性就是FDW:外部数据包装器(Foreign Data Wrapper)。通过FDW,用户可以用统一的方式从Pg中访问各类外部数据源。file_fdw就是其中随数据库附赠的两个fdw之一。随着pg10的更新,file_fdw也添加了一颗赛艇的功能:从程序输出读取。 小霸王妙用无穷,我们能通过file_fdw,轻松查看操作系统信息,拉取网络数据,把各种各样的数据源轻松喂进数据库里统一查看管理。 安装与配置 file_fdw是Pg自带的组 …

    Read more

  • 源码编译安装 PostGIS

    2017年09月07日 in PG 管理

    强烈建议使用使用 yum / apt 命令从 PostgreSQL 官方二进制仓库安装 PostGIS。 参考http://www.postgresonline.com/journal/archives/362-An-almost-idiots-guide-to-install-PostgreSQL-9.5,-PostGIS-2.2-and-pgRouting-2.1.0-with-Yum.html 1. 安装环境 CentOS 7 PostgreSQL10 PostGIS2.4 …

    Read more

  • Linux 常用统计 CLI 工具

    2017年09月07日 in PG 管理

    top free vmstat iostat top 显示Linux任务 摘要 按下空格或回车强制刷新 使用h打开帮助 使用l,t,m收起摘要部分。 使用d修改刷新周期 使用z开启颜色高亮 使用u列出指定用户的进程 使用<>来改变排序列 使用P按CPU使用率排序 使用M按驻留内存大小排序 使用T按累计时间排序 批处理模式 -b参数可以用于批处理模式,配合-n参数指定批次数目。同时-d参数可以指定批次的间隔时间 例如获取机器当前的负载使用情况,以0.1秒为间隔获取三次,获取最后一次 …

    Read more