发布于 2018
-
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客 …
-
Pgbouncer快速上手
2018-02-07 @ 管理
Pgbouncer是一个轻量级的数据库连接池。 概要 pgbouncer [-d][-R][-v][-u user] <pgbouncer.ini> pgbouncer -V|-h 描述 pgbouncer 是一个PostgreSQL连接池。 任何目标应用程序都可以连接到 pgbouncer, 就像它是PostgreSQL服务器一样,pgbouncer 将创建到实际服务器的连接, 或者它将重用其中一个现有的连接。 pgbouncer 的目的是为了降低打开PostgreSQL新连接时的 …
-
PgBackRest2中文文档
2018-02-07 @ 管理
pgBackRest主页:http://pgbackrest.org pgBackRest Github主页:https://github.com/pgbackrest/pgbackrest 前言 pgBackRest旨在提供一个简单可靠,容易纵向扩展的PostgreSQL备份恢复系统。 pgBackRest并不依赖像tar和rsync这样的传统备份工具,而在内部实现所有备份功能,并使用自定义协议来与远程系统进行通信。 消除对tar和rsync的依赖可以更好地解决特定于数据库的备份问题。 自定义 …
-
使用sysbench测试性能
2018-02-06 @ 管理
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 …
-
使用FIO测试磁盘性能
2018-02-06 @ 管理
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 \ …
-
PgSQL不停机迁移
2018-02-06 @ 管理
通常涉及到数据迁移,常规操作都是停服务更新。不停机迁移数据是相对比较高级的操作。 不停机数据迁移在本质上,可以视作由三个操作组成: 复制:将目标表从源库逻辑复制到宿库。 改读:将应用读取路径由源库迁移到宿库上。 改写:将应用写入路径由源库迁移到宿库上。 但在实际执行中,这三个步骤可能会有不一样的表现形式。 逻辑复制 使用逻辑复制是比较稳妥的做法,也有几种不同的做法:应用层逻辑复制,数据库自带的逻辑复制(PostgreSQL 10 之后的逻辑订阅),使用第三方逻辑复制插件(例 …
-
批量配置SSH免密登录
2018-01-07 @ 管理
配置SSH是运维工作的基础,有时候还是要老生常谈一下。 生成公私钥对 理想的情况是全部通过公私钥认证,从本地免密码直接连接所有数据库机器。最好不要使用密码认证。 首先,使用ssh-keygen生成公私钥对 ssh-keygen -t rsa 注意权限 ssh内文件的权限应当设置为0600,.ssh目录的权限应当设置为0700,设置失当会导致免密登录无法使用。 配置ssh config穿透跳板机 把User换成自己的名字。放入.ssh/config,这里给出了有跳板机环境下配置生产网数据库免密直连 …
-
PgSQL协议分析:网络抓包
2018-01-05 @ 管理
Wireshark抓包 Wireshark是一个很有用的工具,特别适合用来分析网络协议。 这里简单介绍使用Wireshark抓包分析PostgreSQL协议的方法。 假设调试本地PostgreSQL实例:127.0.0.1:5432 快速开始 下载并安装Wireshark:下载地址 选择要抓包的网卡,如果是本地测试选择lo0即可。 添加抓包过滤器,如果PostgreSQL使用默认设置,使用port 5432即可。 开始抓包 添加显示过滤器pgsql,这样就可以滤除无关的TCP …