手工操作之主备切换和故障转移


手工主备切换 对于 Oracle 数据库的 DBA 来说,切换 Oracle 数据库主备库之间的角色过程叫作“switchover”,Oracle 提供了相应的“switchover”的一些较为复杂的命令和过程,对于 Postgresql 来说,切换操作的步骤毕竟简单。只需要以下几步操作: 停主库,

PostgreSQL流复制介绍


流复制介绍 什么是流复制? 如果有人问你PostgreSQL的流复制究竟是什么?你大概会说通过wal日志来进行数据同步之类的,的确如此,流复制大概就是这么回事。 但是准确的来说:PostgreSQL通过wal日志来传送的方式有两种:基于文件的日志传送和流复制。 不同于基于文件的日志传送,流复制的关键

PostgreSQL 16 in docker 配置流复制


前面学完了理论知识,今天我们来实战学习下怎么配置这个流复制。为什么采用 docker 进行实验呢,原因很简单,非常方便。 #先设置目录 mkdir -p /data/postgres-replication mkdir -p /data/postgres-replication/postgres-0

排查PostgreSQL无法回收死元组的原因


早上巡查时发现一张业务大表死元组占比高达 60%,autovacuum 早上也才刚刚执行过。第一反应近期有大量数据被删除,问了业务也是如此,那也不应该有那么多没被回收,还有另一种想法就是 autovacuum 虽然执行了,但是没有执行成功,这个时候看下日志是最好的,但是没有权限登录数据库服务器。只能

autovacuum


一、什么是 autovacuum 简单来说,autovacuum 是 PostgreSQL 中一个自动执行 VACUUM 和 ANALYZE 命令的后台进程。它的主要作用有两个: 回收死元组 (dead tuples) 占用的空间: 当你更新或删除表中的数据时,PostgreSQL 并不会立即物理删

PostgreSQL自动巡检一键出报告,堪比AWR!


该脚本来源于德邦大佬,链接如下:https://mp.weixin.qq.com/s/UTEBTT1JACV0SrtAITcuvQ 脚本下载链接如下:DB_PG_HC_V4.0.sql pg_stat_statements插件 cd /home/postgres/contrib/pg_stat_st

checkpoint检查点


什么是检查点 检查点是什么呢?我们可以理解为自动保存。举几个日常例子: 当我们用 wps 编辑文档时候,如果这时候停电了,文档没有来得及保存,那之前写的内容就没了,如果这时候文档有自动保存,就可以基于上一次自动保存的位置继续编辑。 当我们玩游戏挑战 boss 的时候,要是挑战之前没有保存,挑战输了就

WAL日志


什么是 WAL WAL 全称是 write ahead log,是数据库中的事务日志。跟 mysql 的 binlog 日志和 oracle 的 redo 日志是一样的,是用来保证数据的持久性和恢复。 简单来说就是在PostgreSQL数据库中要对数据文件进行修改时必须先写入WAL日志信息,即当WA

pg_control(控制文件)


什么是控制文件 控制文件是一个 8kb 大小的二进制文件,该文件默认位置位于$PGDATA/global/pg_control ,该文件中记录了 postgreSQL 服务器内部状态的各方面信息。内容可以分为两部分,一种是静态数据(不会变动),如 initdb 初始化的一些参数,另一种是动态数据,它

PostgreSQL物化视图详解


相信大伙肯定使用过视图,那物化视图又是什么呢? 实际上物化视图(materialized View)跟视图(View)类似,也是一个视图名字对应一个 SQL 查询语句。 不同的是,物化视图定义的时候需要使用关键字 materialized,它会把结果集保存起来,查询的时候直接读取保存的结果集,而不需